Как отключить определенный плагин в Vim? - PullRequest
26 голосов
/ 22 мая 2010

Я настроил Vim на использование превосходного плагина NERDTree.Однако есть некоторые среды, в которых я не хочу, чтобы этот плагин загружался.

В моем .vimrc есть разделы, которые запускаются только тогда, когда определенные переменные среды имеют значение true.В одном из этих разделов я хотел бы отключить загрузку NERDTree, но вся информация, с которой я столкнулся, говорит о том, как отключить все плагины, а не только один.

Может кто-то продемонстрироватькак отключить загрузку одного конкретного плагина в Vim?

Ответы [ 2 ]

25 голосов
/ 22 мая 2010

Большинство плагинов имеют (пере) защиту от включения.

Откройте плагин, посмотрите имя охранника, если таковой имеется (если нет, добавьте один самостоятельно, и свяжитесь с автором, чтобы заставить его исправить его).и, наконец, установите его значение равным 1 в вашем .vimrc.Вот и все.

Я не могу быть более конкретным, как "открой и ищи охранника", поскольку не все плагины используют одну и ту же политику именования охранников.Это часто g:loaded_pluginname, хотя.

Что касается ftplugins, это становится более сложным.Guard является локальной буферной переменной.Как таковой, он не может быть указан в вашем .vimrc (поскольку он будет применяться только к первому открытому вами буферу).Самым простым способом было бы переместить ваш ftplugin с .vim/ftplugin на .vim/after/ftplugin и установить для соответствующей защиты от повторного включения значение 1 в ftplugin в вашей иерархии non-after.Пока ftplugin не ожидает помещения в after/ (или наоборот, все должно быть в порядке).Примечание: большинство ftplugins считают, что они уникальны и (неправильно) используют переменную b:did_ftplugin в качестве защиты от повторного включения.

1 голос
/ 06 ноября 2014

Добавьте эту строку в ваш .vimrc

let g:loaded_nerdtree_exec_menuitem = 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...