你如何禁用Vim中的特定插件?

时间:2010-05-22 17:05:22

标签: vim

我让Vim设置为使用优秀的NERDTree插件。但是,在某些环境中我不希望加载此插件。

在我的.vimrc中,我有一个仅在特定环境变量为true时运行的部分。在其中一个部分中,我想禁用NERDTree的加载,但我遇到的所有信息都说明如何禁用所有插件,而不只是一个。

有人可以演示如何在Vim中禁用一个特定插件的加载吗?

2 个答案:

答案 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