【发布时间】:2011-02-22 19:16:54
【问题描述】:
我正在浏览我的 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 中。
但是,在我继续之前,我想问一下是否有人对处理文件类型特定设置的最佳方式有建议。
【问题讨论】: