特定文件类型的Vim配置

特定文件类型的Vim配置,vim,Vim,我正在努力使用.vimrc根据文件类型应用特定的配置。根据autocmd文件类型的建议,我尝试应用基于文件类型的配置。以下是我的.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"

我正在努力使用.vimrc根据文件类型应用特定的配置。根据
autocmd文件类型
的建议,我尝试应用基于文件类型的配置。以下是我的.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:Vim调用函数Tex_config()。所以,一切似乎都应该起作用

但是,当我发布
:set filetype=tex
时,奇怪的事情发生了:拼写检查关闭。当我发出
时:set filetype=foo
拼写检查打开。与我期望从这个配置代码片段中得到的正好相反


如蒙协助,将不胜感激。这是完整的(44-50的函数)。谢谢。

您可以将特定命令添加到.vim/ftplugin/tex.vim。然后Vim将自动识别tex是一种文件类型,并从tex.Vim加载其行为

例如,我将其用于手册页。vim/ftplugin/man.vim:

setlocal nolist
setlocal nomod
setlocal nonumber

" Set scratch buffer"
setlocal buftype=nofile
setlocal bufhidden=hide
setlocal noswapfile
确保vimrc中有这一行用于设置vim文件夹:

let $VIM='~/.vim/'

您可以将特定命令添加到.vim/ftplugin/tex.vim。然后Vim将自动识别tex是一种文件类型,并从tex.Vim加载其行为

例如,我将其用于手册页。vim/ftplugin/man.vim:

setlocal nolist
setlocal nomod
setlocal nonumber

" Set scratch buffer"
setlocal buftype=nofile
setlocal bufhidden=hide
setlocal noswapfile
确保vimrc中有这一行用于设置vim文件夹:

let $VIM='~/.vim/'

不要将.vimrc用于特定于文件类型的内容,Lynch为文件类型或情景vimrc设置描述了一种非常精确的机制

例如:my.vim中的一些内容

.vim/ftdetect:
haml.vim       macports.vim   puppet.vim
hiveminder.vim markdown.vim   ruby.vim

.vim/ftplugin:
haml.vim             portfile.vim         sshconfig.vim
html_snip_helper.vim python.vim           tmux.vim
javascript.vim       python_match.vim     zsh.vim
markdown.vim         sass.vim
plist.vim            scss.vim
比如说,我的sshconfig.vim文件(我已经设置了“K”来为我提供sshconfig的手册页,其中标题是我的光标所在的位置。如果做得好,这就是诀窍。)


我应该把这个编译器端口文件拉出来,放到ftplugins中,因为你可以看到这个系统会变得非常疯狂,但这就是ctags和git的用途。

不要使用.vimrc对于特定于文件类型的东西,Lynch为文件类型或情景vimrc设置描述了一种非常精确的机制

例如:my.vim中的一些内容

.vim/ftdetect:
haml.vim       macports.vim   puppet.vim
hiveminder.vim markdown.vim   ruby.vim

.vim/ftplugin:
haml.vim             portfile.vim         sshconfig.vim
html_snip_helper.vim python.vim           tmux.vim
javascript.vim       python_match.vim     zsh.vim
markdown.vim         sass.vim
plist.vim            scss.vim
比如说,我的sshconfig.vim文件(我已经设置了“K”来为我提供sshconfig的手册页,其中标题是我的光标所在的位置。如果做得好,这就是诀窍。)


我应该把编译器端口文件拉出来,放到ftplugins中,因为你可以看到这个系统会变得非常疯狂,但这就是ctags和git的用途。

我知道你在使用它。另一个可能与此无关的注意事项是,您可能希望在调用病原体函数之前关闭
filetype plugin
,以防系统范围的vim设置在病原体运行之前将其打开。我不认为这会导致你的问题,但这是使用病原体的好习惯。我看到你在使用病原体。另一个可能与此无关的注意事项是,您可能希望在调用病原体函数之前关闭
filetype plugin
,以防系统范围的vim设置在病原体运行之前将其打开。我不认为这会导致你的问题,但这是一个好习惯。