如何在Vim启动后手动加载ftplugin?

Rob*_*Rob 14 vim plugins ftplugin

假设我将.txt文件加载到Vim中.然后我想改变filetype=html但我也想要一个相关的ftplugin加载.我怎样才能做到这一点?

我已经尝试了类似的东西::set filetype plugin on:set filtype plugin_nameon :filetype plugin_name等等,但我似乎无法手动加载ftplugin.有什么建议?

我试过:filetype=html,然后:filetype plugin on和其他组合无济于事.

编辑:我无法用任何答案"完全"解决这个问题(但它可能与我的配置有关).然而,皮埃尔的答案非常好,所以我给了他绿色的复选标记.

Pie*_*tte 9

我很确定当你使用:set ft=X它切换文件类型时会自动加载.vim/ftplugin文件夹中的相关插件.例如:set ft=html,加载.vim/ftplugin/html.vim,你将加载任何相关的插件.但是BufEnter,BufNew由于设置新文件类型不会触发这些事件,因此不会加载与html文件关联的插件加载.因此,如果你的.vimrc中有html特定的插件加载了,BufNew或者BufEnter你可能想把它们放在.vim/ftpluging/html.vim文件中.

您始终可以在文本文件中添加更改文件类型的模式行.例如<!-- vim: ft=html -->.

  • ftplugin文件夹中的脚本必须具有文件类型的名称,例如python.vim,ruby.vim,html.vim.这些是在filetype.vim中定义的.我的猜测是html_snip_header.vim是由插件目录中加载的snipMate插件加载的吗?在ftplugin下添加一个直接加载html_snip_header.vim的html.vim文件,它应该具有相同的效果. (2认同)