在vim中使用病原体暂时禁用某些插件。


96

我认为我在一个插件中有一个错误。我只想加载此插件,而不必删除病原体包文件夹中的所有其他包进行调试。

可能吗?

Answers:


129

使用Pathogen时禁用插件的最简单方法是在启动病原体之前,将其捆绑包名称添加到g:pathogen_disabled变量中。

我自己的vimrc就是一个例子

" To disable a plugin, add it's bundle name to the following list
let g:pathogen_disabled = []

" for some reason the csscolor plugin is very slow when run on the terminal
" but not in GVim, so disable it if no GUI is running
if !has('gui_running')
    call add(g:pathogen_disabled, 'csscolor')
endif

" Gundo requires at least vim 7.3
if v:version < '703' || !has('python')
    call add(g:pathogen_disabled, 'gundo')
endif

if v:version < '702'
    call add(g:pathogen_disabled, 'autocomplpop')
    call add(g:pathogen_disabled, 'fuzzyfinder')
    call add(g:pathogen_disabled, 'l9')
endif

call pathogen#infect()

更新:Pathogen支持的另一种方法是简单地重命名您要禁用的包的目录,使其以波浪号(〜)结尾。因此,要禁用该autocomplpop捆绑包,只需将其重命名为即可autocomplpop~


1
代字号策略现在似乎不起作用(从2.3版开始)。
echristopherson 2014年

6
@echristopherson现在,至少在dev分支上,它现在应该重新回到病原体中。
FDinoff 2014年

8
2.4它变成g:pathogen_blacklist代替。
Yuri Ghensev

36

vim -u NONE -N将加载没有插件的vim,并且您的.vimrc没有任何设置。然后,您可以:source /path/to/plugin/you-want.vim在vim内加载要加载的一个插件。


+1。淡淡的,这是一个很好的建议。但是我相信@Herbert的方法更适合我的情况,因为我确实有很多ftplugin之类的东西。感谢您的回答,您的解决方案非常适合在无法安装病原体的盒子中使用。
有人仍在使用您MS-DOS 2010年

您也可以启动vim vim -u NONE -N,然后一旦进入vim,则:filetype plugin on启用文件类型插件。
frabjous 2010年

9

vim --noplugin

在这种情况下,vim将不加载任何插件,但将使用您的vimrc。

可以在vim中加载插件之后:

:source'您的插件路径'


3

为什么不只是:

  1. 重命名当前包目录
  2. 创建一个新的空捆绑目录
  3. 将您的测试插件文件放入新的捆绑包目录中?

完成后,将所有内容恢复原状。(建议使用的方法是不带插件地加载Vim并获取插件文件,如果它是一个简单的单文件插件,则可以使用,但是如果您正在执行ftplugin,则移动目录可能是最好的方法,而不是那么困难。)


+1。简单有效,只需将所有文件夹移动到临时文件夹即可。
有人仍在使用您的MS-DOS 2010年

2

您可以通过在原始名称后面加上波浪号〜来重命名特定的插件。捆绑软件中捆绑软件中的每个带有波浪号〜的插件文件夹都不会被病原体加载。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.