Vim会自动加载特定文件类型的插件吗?适用于自定义文件类型。

5
我知道在Vim中定义特定文件类型的推荐方法是使用.vim文件和filetype plugin选项。例如,若要为.html文件添加设置,我需要在.vimrc中添加filetype plugin on,并在~/.vim/ftplugin/html.vim中添加设置。
然而,所有我能找到的示例都是关于像.html.sql这样流行的现有文件类型。对于自定义的文件类型是否也适用同样的修复方法呢?比如,如果我想使用一个扩展名为.newft的新文件类型,那么如果我创建包含此新类型设置的~/.vim/ftplugin/newft.vim文件并载入somefile.newft,Vim会自动检测其类型并加载newft.vim吗?
我之所以问这个问题,是因为这正是我正在做的,但迄今为止它没有起作用。我想知道这是一个错误还是Vim的预期行为。
1个回答

5

:h new-filetype介绍了添加新文件类型支持的不同方法。

我推荐使用方法A,只需在~/.vim/ftdetect/newft.vim中编写以下内容即可:

autocmd BufRead,BufNewFile  *.newft  set filetype=newft

假设您在~/.vimrc文件中已经开启了文件类型插件filetype plugin on。以上示例将使Vim每次读取或创建与*.newft文件相关联的缓冲区时尝试源化~/.vim/ftplugin/newft.vim,或在现有缓冲区上执行:setfiletype newft/:set filetype=newft。并让Vim处理其余部分。

如果我们希望新的 newft 扩展先前定义的文件类型的配置,该怎么办?如何加载默认设置,即先前文件类型的设置? - alexis
1
ftplugin/newft.vim文件的顶部附近添加runtime ftplugin/previousft.vim将是我的第一次尝试。 - romainl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接