특정 파일 형식에 대한 Vim 구성

특정 파일 형식에 대한 Vim 구성

저는 .vimrc를 사용하여 파일 유형에 따라 특정 구성을 적용하려고 노력하고 있습니다. autocmd FileType조언을 따르다여기, 파일 형식 기반 구성을 적용하려고 합니다. 내 .vimrc에 있는 내용은 다음과 같습니다.

autocmd FileType tex call Tex_config()
  function Tex_config()
    let g:LatexBox_viewer = 'skim'
    let g:LatexBox_latexmk_options = '-pvc'
    let g:tex_flavor = "latex"
    setlocal spell spelllang=en_ca
  endfunction

:debug Tex_config:를 사용하여 Tex_config() 함수를 호출하면 Vim이 함수를 실행합니다. 그래서 모든 것이 예상대로 잘 작동하는 것 같습니다.

그러나 :set filetype=tex발행할 때 이상한 일이 발생합니다. 맞춤법 검사가 꺼진 것입니다. 맞춤법 검사를 실행하면 :set filetype=foo열립니다. 이 구성 조각에서 예상했던 것과 정반대입니다!

어떤 도움이라도 대단히 감사하겠습니다. 이건 완전해vimrc(44-50의 특징). 감사해요.

업데이트: 퍼즐의 또 다른 부분: TeX 파일을 로드하면 기본 설정을 문제 없이 읽을 수 있습니다. 문제는 에서 발생합니다 :set filetype=tex.

답변1

당신의 명령을 내 명령과 비교한 결과, .vimrc주요 차이점은 내 모든 기능 명령이 다음으로 끝나는 것 같습니다.

function! ExtPrefFunction()
   " Preferences here
endfunction
autocmd Filetype ext call ExtPrefFunction()

솔직히 그들이 왜 이런 짓을 하는지는 모르겠지만, 나에게는 효과가 있다. 또한 다음을 수행합니다.

if &filetype == "ext"
    " Preferences here
endif

...하지만 이는 파일 형식 표시기가 변경될 때가 아니라 편집하기 위해 파일을 처음 열 때만 등록됩니다.

관련 정보