我正在浏览我的 vim 点文件来整理它们。我注意到随着时间的推移,我以各种不一致的方式添加了各种文件类型特定的设置。假设我正在为 Python 定制:
au BufRead,BufNewFile *.py (do something)
. 我不喜欢这样,因为某些 Python 文件可能没有 .py 终止符。au FileType python (do something)
. 这似乎是一个更好的选择,因为它不依赖于具有 .py 终止的文件。缺点是 Vim 不知道某些文件类型。我可以让 Vim 识别其他文件类型,但我也有各种不一致的方法:一个.vim/filetype.vim
文件、另一个in.vim/after/filetype.vim
和.set filetype
.vimrc
添加具有
.vim/ftplugin/python.vim
文件类型特定设置的文件。我知道$VIMRUNTIME/ftplugin/python.vim
可以覆盖我在这里所做的任何设置。一个问题是我不确定这如何与.vim/filetype.vim
and交互.vim/after/filetype.vim
。添加一个
.vim/after/ftplugin/python.vim
. 我知道这是在之后加载的,$VIMRUNTIME/ftplugin/python.vim
因此它可以从那里覆盖设置。与前面的方法一样,我不确定它如何与filetype.vim
文件交互。
所以我至少有四种方法可以做到这一点,更不用说语法文件和特定于文件类型的插件了。在我看来,最好的方法是将我的文件类型特定设置放入其中,after/ftplugin
这样它们就不会被覆盖,并且filetypes.vim
出于after
同样的原因。
但是,在我继续之前,我想问一下是否有人对处理文件类型特定设置的最佳方法有建议。