주로 파일을 편집할 때 사용하고 싶습니다 tabstop=4
. 하지만 xml 파일과 같은 일부 유형의 파일에는 tabstop=2
.
나는 추가했다
au filetypedetect FileType xml,html,xhtml,javascript set tabstop=2 softtabstop=2 shiftwidth=2
내 .vimrc
파일에. 파일 하나만 편집하면 작동합니다. 하지만 여러 파일을 편집하는 경우 모든 버퍼에 대해 탭 정지가 올바르게 설정되지 않습니다. 파일 형식은 시작 시에만 감지 및 설정되며 그 이후에는 변경되지 않는 것 같습니다.
FileType
버퍼를 전환할 때마다 설정하고 싶습니다. 어떻게 해야 하나요?
답변1
귀하의 버전이 왜 작동하지 않는지 잘 모르겠지만 해당 call
옵션을 사용하여 다음과 같은 기능에 설정을 넣을 수 있었습니다.
set tabstop=4
set softtabstop=4
set shiftwidth=4
function! setAltPrefs()
set tabstop=2
set softtabstop=2
set shiftwidth=2
endfunction
autocmd FileType xml,html,xhtml,javascript call setAltPrefs()
이 이벤트는 파일이 버퍼에 로드되거나 파일 형식이 변경될 때마다 시작됩니다. 유일한 문제는 버퍼를 사용자 정의 유형에서 기본 유형으로 다시 변경하는 경우입니다. 이 경우 아무것도 변경되지 않습니다. 해당 사용 사례를 다루려면 모든 파일 형식을 트리거하는 다른 기능을 설정해야 합니다.