Временно отключите некоторые плагины, использующие патоген в vim.

96

Думаю, у меня в одном плагине есть ошибка. Я хотел бы загрузить только этот плагин, без необходимости удалять все другие пакеты в папке пакетов моего патогена для отладки.

Является ли это возможным?

Кто-то до сих пор пользуется вами MS-DOS
источник

Ответы:

129

Самый простой способ отключить плагин при использовании Pathogen - это добавить его имя пакета в переменную g: pathogen_disabled перед запуском pathogen.

Итак, пример из моего собственного 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~.

jeroen
источник
1
Стратегия тильды сейчас, похоже, не работает (начиная с версии 2.3).
echristopherson
6
@echristopherson Теперь это должно быть снова в pathogen, по крайней мере, в ветке разработки.
FDinoff 05
8
Как 2.4это делается g:pathogen_blacklistвместо этого.
Юрий Генцев
36

vim -u NONE -Nзагрузит vim без плагинов, без настроек из вашего .vimrc. Затем вы можете :source /path/to/plugin/you-want.vimвнутри vim загрузить один плагин, который хотите загрузить.

фрабжу
источник
+1. frabjous, это отличный совет. Но я считаю, что подход @Herbert лучше подходит для моей ситуации, поскольку у меня действительно много ftplugin и тому подобное. Спасибо за ответ, ваше решение будет использоваться в ящиках, в которых не может быть установлен патоген.
Кто-то все еще использует вашу MS-DOS
Вы также можете запустить vim as, vim -u NONE -Nа затем, войдя в vim, сделать, :filetype plugin onчтобы включить плагины типа файла.
frabjous
9

vim --noplugin

В этом случае vim не будет загружать какие-либо плагины, но будет использоваться ваш vimrc.

После того, как вы сможете загрузить свой плагин в vim:

: source 'путь к вашему плагину'

Regisz
источник
3

Почему не просто:

  1. переименовать текущий каталог пакета
  2. создать новый пустой каталог пакета
  3. поместить файлы тестовых плагинов в новый каталог пакетов?

Когда закончили, верните все на место. (Предлагаемый метод загрузки Vim без плагинов и получения файла плагина будет работать, если это простой однофайловый плагин, но если вы используете ftplugin, то перемещение каталогов, вероятно, будет лучшим способом и не так уж сложно.)

Герберт Зитц
источник
+1. Просто и эффективно, просто переместите все папки во временную папку.
Кто-то все еще использует вашу MS-DOS
2

Вы можете переименовать конкретный плагин, поставив знак тильды ~ после его исходного имени. Все папки плагинов в пакете со знаком тильды ~ в конце не будут загружены патогеном.

Райан Ву
источник