我了解在Vim中定义特定于文件类型的行为的推荐方法是.vim
个文件和filetype plugin
选项。例如,要添加.html
个文件的设置,我会在filetype plugin on
中添加.vimrc
并将设置添加到~/.vim/ftplugin/html.vim
。
但是,我可以找到的此方法的所有示例都是关于常见的现有文件类型,例如.html
或.sql
。相同的修复程序是否适用于自定义文件类型?假设我想使用扩展名为.newft
的新文件类型。如果我使用此新类型的设置创建~/.vim/ftplugin/newft.vim
并加载somefile.newft
,Vim会自动检测其类型并加载newft.vim
吗?
我问这个,因为这正是我正在做的事情,到目前为止还没有奏效。我想知道这是Vim的错误还是预期的行为。
答案 0 :(得分:5)
:h new-filetype
概述了添加对新文件类型的支持的不同方法。
我推荐方法A
,就像在~/.vim/ftdetect/newft.vim
中编写以下内容一样简单:
autocmd BufRead,BufNewFile *.newft set filetype=newft
让Vim处理剩下的事情。
假设filetype plugin on
中有~/.vimrc
,上面的示例将使Vim在每次阅读或创建与~/.vim/ftplugin/newft.vim
文件关联的缓冲区时尝试获取*.newft
或在现有缓冲区上执行:setfiletype newft
/ :set filetype=newft
。