针对特定文件类型的 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

...但这仅在您第一次打开文件进行编辑时注册,而不是在文件类型指示器更改时注册。

相关内容