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

225
Grant Birchmeier

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

При запуске я вижу, что 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.

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

2
Можете ли вы поделиться своей цветовой схемой и vimrc? Это [этот] (https://github.com/ajford/dotfiles/blob/master/vim/vim.symlink/colors/torte2.vim)? Если это так, вы должны изменить `let g: colors_name =" torte "` на `let g: colors_name =" torte2 "`. romainl 9 лет назад 1
Нет, мой torte2 - это просто копия обычного torte с некоторыми изменениями, которые я сделал. Grant Birchmeier 9 лет назад 0
Это все еще называется "torte" или вы изменили его на "torte2"? Кроме того, где твой vimrc? romainl 9 лет назад 0

1 ответ на вопрос

2
Ingo Karkat

Когда вы клонируете цветовую схему, вам нужно адаптировать 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 9 лет назад 0