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

17

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

highlight! link WordUnderTheCursor Underlined   

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

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

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

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

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

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

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

    
задан Steven Lu 17.07.2013 в 00:45
источник

2 ответа

31

Да. 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

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

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

    
ответ дан FDinoff 17.07.2013 в 01:34
источник
9

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

vim --startuptime <file>

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

    
ответ дан Cometsong 17.07.2013 в 11:13
источник