如何暂时关闭Vim中的插件?

41

我在Vim中安装了多个插件,其中一些修改了Vim的默认行为。例如,我使用Vimacs插件,它使得Vim在插入模式下的行为类似于emacs。有时,我想要关闭Vimacs插件,但不想将vimacs.vim移出插件目录。是否有方法可以做到这一点?

3个回答

40

如果您使用像VundlePathogen这样的插件管理器,它将使插件保持在位于~/.vim/bundle/目录下的自己的目录中。

在这种情况下,只需使用以下命令找到vimacs插件的runtimepath

set runtimepath?

假设路径为~/.vim/bundle/vimacs

然后,在你的.vimrc中添加以下命令:

set runtimepath-=~/.vim/bundle/vimacs

如果要加载vimacs,只需注释掉该行并重新启动Vim(或者用source命令重新加载你的.vimrc文件)。


谢谢!这将与我最近转换到Pathogen很搭配。 :) - Amjith
3
此外,您可以直接删除插件的目录,例如 rm -rf ~/.vim/bundle/vimacs。如果您正在使用 Vundle 或 Pathogen,则只需重新安装插件,分别执行 :BundleInstallgit submodule update 即可。 - orluke
除非您有更复杂的构建过程,例如使用YCM。这并不难,但需要一些时间。 - Cubic

20

查看vimacs在启动时检查的变量。在脚本文件的开始处找到类似if exists('g:vimacs_is_loaded")...的内容。然后在您的.vimrc文件中设置此变量,或者在启动vim时使用vim --cmd "let g:vimacs_is_loaded = 1"命令设置。


1
如果您正在使用pathogen,我认为这篇文章提供了更好的答案。由于我经常需要在使用latex时禁用代码片段,因此我还将以下内容添加到我的~/.config/ranger/rc.conf中:
map bs shell vim --cmd "let g:pathogen_blacklist = [ 'ultisnips', 'vim-snipmate' ]" %f

这样,每当我想要打开一个禁用片段的文件时,就很容易了。

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