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

Плагины загрузки Vim после загрузки vimrc?

Я пытаюсь переопределить выделение, установленное в плагине. Плагин делает это:

highlight! link WordUnderTheCursor Underlined   

Во-первых, я не знаю, что ! добавлено в highlight. Но это не имеет значения.

Выполнение подобных действий в vimrc

highlight clear WordUnderTheCursor                             
highlight WordUnderTheCursor cterm=bold ctermfg=254 ctermbg=160

Не влияет на поведение.

Только когда я напрямую изменяю стиль Underlined (который чувствует себя не так) в vimrc, применяется ли изменение.

Является ли это доказательством того, что плагин запускается после запуска vimrc?

Как я могу отменить стиль? Я не могу сказать, действительно ли это плагин, делающий что-то творческое и неподдерживаемое, или если это нормальное поведение Vim. Вот сам vimscript.

4b9b3361

Ответ 1

Да. vimrc загружается перед плагинами.

Если вы посмотрите :h initialization, вы увидите, что шаг 3 - это загрузка vimrc, а шаг 4 - плагины загрузки.

Вы также можете увидеть, что vimrc загружается перед плагинами, просматривая вывод :scriptnames. scriptnames перечисляет все исходные сценарии в том порядке, в котором они были получены, а vimrc - первое, что было получено. (Взгляните на :h :scriptnames).


Чтобы исправить выделение, вам просто нужно запустить команды выделения после получения плагина. Для этого вы помещаете файлы в каталог after вашего каталога .vim. (Взгляните на :h after-directory)

Итак, создайте файл .vim/after/plugin/hicursorwords.vim со следующим содержимым

highlight clear WordUnderTheCursor                             
highlight WordUnderTheCursor cterm=bold ctermfg=254 ctermbg=160

Это приведет к тому, что плагин будет отправлен до изменения настроек плагина.

(Это, конечно, предполагает, что вы не хотите редактировать плагин)

Ответ 2

Помимо имен скриптов, чтобы узнать, в каком порядке vim запускает файлы при запуске, вы также можете использовать:

vim --startuptime <file>

чтобы он записывал все задачи, которые он выполняет, и сколько времени занимает каждый.