Vim에서 FileType을 어떻게 사용하나요?

Vim에서 FileType을 어떻게 사용하나요?

주로 파일을 편집할 때 사용하고 싶습니다 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()

이 이벤트는 파일이 버퍼에 로드되거나 파일 형식이 변경될 때마다 시작됩니다. 유일한 문제는 버퍼를 사용자 정의 유형에서 기본 유형으로 다시 변경하는 경우입니다. 이 경우 아무것도 변경되지 않습니다. 해당 사용 사례를 다루려면 모든 파일 형식을 트리거하는 다른 기능을 설정해야 합니다.

관련 정보