我正在整理我的vim配置文件。我注意到随着时间的推移,我以不一致的方式添加了各种针对特定文件类型的设置。假设我正在为Python自定义配置:
au BufRead,BufNewFile *.py (do something)
。我不喜欢这个选项,因为某些Python文件可能没有.py后缀。au FileType python (do something)
。这似乎是一个更好的选择,因为它不依赖于文件是否具有.py后缀。缺点是Vim并不知道某些文件类型。我可以让Vim识别其他文件类型,但我也有各种不一致的方法:一个.vim/filetype.vim
文件,另一个在.vim/after/filetype.vim
中,以及各种在.vimrc
中的set filetype
命令。添加一个
.vim/ftplugin/python.vim
文件,其中包含特定文件类型的设置。我知道$VIMRUNTIME/ftplugin/python.vim
可以覆盖我所做的任何设置。问题之一是我不确定这如何与.vim/filetype.vim
和.vim/after/filetype.vim
交互。添加
.vim/after/ftplugin/python.vim
。我知道这是在$VIMRUNTIME/ftplugin/python.vim
加载之后加载的,因此可以覆盖从那里设置的设置。与上一种方法一样,我不确定它如何与filetype.vim
文件交互。
所以,我至少有四种方法来处理这个问题,还没有提到语法文件和特定文件类型的插件。对我而言,似乎最好的方法是将我的特定文件类型的设置放在after/ftplugin
中,以便它们不会被覆盖,并且将filetypes.vim
放在after
中以获得同样的效果。
但在继续之前,我想问问是否有人有关于处理特定文件类型设置的最佳建议。
.vim/ftplugin/python/{pydoc.vim, python.vim, etc..}
。 - Randy Morrisverbose = 10
提供的信息太多了。 - dimatura:help filename
返回有关:filename
命令的帮助信息。您是否指的是:help filetype
? - Rich