Перейти к содержимому

почему vim вызывает этот скрипт при запуске?

2

Я пытаюсь использовать собственную цветовую схему.

При запуске я вижу, что vim загружает мою схему, но после этого загружает другую схему, перезаписывая мою.

Вот вывод :scriptnames:

 1: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/vimrc 2: ~/.vimrc 3: ~/.vim/colors/torte2.vim 4: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/runtime/syntax/syntax.vim 5: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/runtime/syntax/synload.vim 6: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/runtime/colors/torte.vim 7: /usr/local/Cellar/macvim/7.4-72/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim ... and so on 

Как вы можете видеть, моя цветовая схема "torte2" загружается в строке 3, но затем она перекрывается "torte" в строке 6.

Почему это происходит, и как я могу остановить это?

337 просмотров
Grant Birchmeier спросил 11 лет назад
G 128

1 ответ

2
Принятый ответ

Когда вы клонируете цветовую схему, вам нужно адаптировать g:colors_nameскрипт внутри; его значение должно совпадать с измененным именем. Это потому, что следующий фрагмент syntax/synload.vimзаново загрузит цветовую схему:

" Set the default highlighting colors. Use a color scheme if specified. if exists("colors_name") exe "colors " . colors_name else 

Вы забыли изменить имя, поэтому Vim перезагружается torte.vimвместо вашего torte2.vim.


Кроме того, вы можете переименовать ваш клонированный скрипт в torte.vim; если он раньше 'runtimepath', Vim предпочтет тот, который поставляется вместе с Vim.

Ах да, именно это я и сделал. Я не заметил g: colors_name внутри схемы, которую я скопировал, поэтому он все еще говорил 'torte'. Как только я изменил его на torte2, проблема решилась. Спасибо!

Grant Birchmeier · 11 лет назад · 0
Ingo Karkat ответил 11 лет назад
I 17 213