我让Vim设置为使用优秀的NERDTree插件。但是,在某些环境中我不希望加载此插件。
在我的.vimrc中,我有一个仅在特定环境变量为true时运行的部分。在其中一个部分中,我想禁用NERDTree的加载,但我遇到的所有信息都说明如何禁用所有插件,而不只是一个。
有人可以演示如何在Vim中禁用一个特定插件的加载吗?
答案 0 :(得分:25)
大多数插件都有(重新)包含保护。
打开插件,看看防护的名称,如果有的话(如果没有,请自己添加一个,并联系作者让他修复他的插件),最后在.vimrc中将其值设置为1。 就是这样。
我不能更具体地说“打开,寻找警卫”,因为并非所有插件都使用相同的防护命名策略。它通常是g:loaded_pluginname
。
关于ftplugins,它变得更加棘手。守卫是一个缓冲局部变量。因此,它无法指定到.vimrc中(因为它仅适用于您打开的第一个缓冲区)。
最简单的方法是将您的ftplugin从.vim/ftplugin
移动到.vim/after/ftplugin
,并在非后层次结构中的ftplugin中将相关的反重新保护设置为1。只要ftplugin不期望放在after/
中(或相反,它应该没问题)。
注意:大多数ftplugins认为它们是唯一的并且(错误地)使用变量b:did_ftplugin
作为重新加入保护。
答案 1 :(得分:1)
将此行添加到.vimrc
let g:loaded_nerdtree_exec_menuitem = 1