Подтвердить что ты не робот

Как отключить определенный плагин в Vim?

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

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

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

4b9b3361

Ответ 1

В большинстве плагинов есть защитник включения (re).

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

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

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

Ответ 2

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

let g:loaded_nerdtree_exec_menuitem = 1