我已经设置了Vim并使用了出色的NERDTree插件。但是,在某些情况下,我不希望加载该插件。
在我的 .vimrc 文件中,只有在特定的环境变量为真时才运行一些部分。在其中一个部分中,我想禁用NERDTree的加载,但是我找到的所有信息都说明如何禁用所有插件,而不仅仅是一个。
请问有人能演示如何在Vim中禁用特定插件的加载吗?
我已经设置了Vim并使用了出色的NERDTree插件。但是,在某些情况下,我不希望加载该插件。
在我的 .vimrc 文件中,只有在特定的环境变量为真时才运行一些部分。在其中一个部分中,我想禁用NERDTree的加载,但是我找到的所有信息都说明如何禁用所有插件,而不仅仅是一个。
请问有人能演示如何在Vim中禁用特定插件的加载吗?
大多数插件都有一个(重新)包含保护。
打开插件,查看是否有保护的名称(如果没有,则自己添加,并联系作者修复插件),最后在你的 .vimrc 中将其值设置为 1。 就是这样。
我无法更具体地说明“打开并查找保护”,因为并非所有插件都使用相同的保护命名策略。 通常是 g:loaded_pluginname
。
关于 ftplugin,情况会更棘手。 保护变量是缓冲区局部的。 因此,它不能在 .vimrc 中指定(因为它仅适用于您打开的第一个缓冲区)。
最简单的方法是将您的 ftplugin 从 .vim/ftplugin
移动到 .vim/after/ftplugin
,并在您的非-after层次结构中的 ftplugin 中将相关的反重复包含保护设置为 1。 只要 ftplugin 不希望被放置在 after/
中(或者相反,应该可以正常工作)。
注意:大多数 ftplugin 认为它们是独特的,并且错误地使用变量 b:did_ftplugin
作为重复包含保护。
将以下这行代码添加到你的 .vimrc 文件中
let g:loaded_nerdtree_exec_menuitem = 1
g:EclimDisabled
来实现。 - Petrvim --cmd“let g:loaded_<pluginname>=1”...
- Sameer