У меня есть несколько highlight
команд в моем .vimrc
файле. В Vim 7.3 они вступили в силу сразу после запуска Vim. После обновления до Vim 7.4 это уже не так. Vim изначально использует подсветку по умолчанию. Когда я загружаюсь .vimrc
второй раз source ~/.vimrc
, выделение работает так, как я хочу.
Вы должны быть в состоянии воспроизвести эту проблему, используя следующие шаги:
Сделайте копию вашего
.vimrc
файла.Замените
~/.vimrc
файлом, содержащим только строкуhighlight Type ctermfg=28 cterm=bold
.Запустите
vim dummy.c
в 256-цветном терминале (например, GNOME Terminal).Введите
int
в буфер. Символint
должен отображаться обычным шрифтом и иметь светло-зеленый цвет, а это не то, что я хочу.Введите
:source ~/.vimrc
. Теперь ониint
должны быть выделены жирным шрифтом и окрашены в темно-зеленый цвет.
В соответствии со статьей « Как управлять / настраивать цвета vim» , можно просто поместить highlight
команды в .vimrc
. В статье говорится, что вы должны поставить syntax enable
после highlight
команд, но это не имеет никакого значения.
Мое первое исправление было предварять каждую highlight
команду .vimrc
с autocmd VimEnter *
. Это работало для некоторых типов файлов, но не для других (файлы C являются примером).
В чем причина такого поведения? Как highlight
выполнить команды при запуске Vim, чтобы они действовали для всех буферов в течение всего сеанса Vim?
источник
set compatible
в начале.vimrc
подсветка синтаксиса работает как положено. Так что это действительно похоже на эту ошибку в действии.highlight
командамautocmd ColorScheme *
, которые были предложены в качестве обходного пути в отчете об ошибках. Это все еще не работает. WolfОтветы:
Это не однозначный ответ, и ваша проблема звучит как проблема 542 . Очевидно, вы можете обойти это, написав свою собственную базовую цветовую схему, вместо того, чтобы записывать эти
hi ...
утверждения непосредственно в ваш .vimrc.источник
На самом деле вы не должны помещать свои собственные основные моменты в ваш vimrc, но в файлы синтаксиса таможни.
Эти файлы должны быть расположены
~/.vim/after/syntax/filetype.vim
там, гдеfiletype
находится ожидаемый тип файла. Если вы в основном удовлетворены синтаксическим файлом, но хотите добавить несколько команд, вы можете выполнить следующие действия (взяты из:h mysyntaxfile-add
)::h mysyntaxfile
это хорошее место, чтобы получить информацию о том, как исправить ваши собственные файлы синтаксиса. Также изучите Vimscript The Hard Way как несколько глав на эту тему.источник
.vimrc/highlighting.vim
, создал каталог.vimrc/syntax/after
и добавил несколько символических ссылок вида * filetype *,.vim
которые указывают.vimrc/highlighting.vim
на этот каталог. Подсветка синтаксиса по-прежнему не работает.~/.vim/after/syntax
не~/.vimrc
.vim
и подсветка синтаксиса не работала, возможно, из-за этой ошибки 542.Для чего это стоит, у меня была эта проблема с MacVim (8.1.950 (155)). Размещение оператора выделения после
colorscheme
.vimrc исправило его для меня. Например:->
источник