Если я установил cursorline
опция я получаю свою текущую подчеркнутую строку курсора и все символы, какой цвет не указан также поворот к желтому (желтый появляется, только если Нормальная группа выделения является нетронутой). Интересно, где этот (желтый) цвет определяется?
Править: Я знаю о CursorLine
выделите группу. Проблема состоит в том, что в системе цветов по умолчанию, которая я использую его, не определяется и :hi CursorLine
шоу
CursorLine xxx term=underline cterm=underline
где xxx окрашен с желтым и подчеркнут. Я не хочу изменять цвет, я хочу добавить cursorline
поддержка 2html.vim
- как плагин, таким образом, мне нужна некоторая группа/переменная/и т.д. выделения, где я могу получить этот желтый цвет от.
Редактировать: С помощью функции synIDattr()
можно запросить большинство значений для определенной группы подсветки. Например, она выведет цвет переднего плана, назначенный CursorLine
, если он был задан:
:echo synIDattr(synIDtrans(hlID("CursorLine")), "fg")
С помощью аналогичных вызовов можно также определить состояние underline
, undercurl
и т. д.
Пара предупреждений: synIDattr()
глючная и неполная. Она иногда неожиданно возвращает -1, и в настоящее время не позволяет проверять все атрибуты. (Предположительно, исправление готовится для ближайшего выпуска Vim.) Дополнительную информацию см. в этих темах:
Программно определить текущую настройку "highlight"?
Если synIDattr()
не делает того, что вы хотите, может быть проще перенаправить вывод команды highlight
в переменную и проанализировать его самостоятельно:
:redir => cursorline_highlight | silent highlight CursorLine | redir END
:echo "CursorLine highlight: " . cursorline_highlight
Цвет линии курсора может быть установлен с помощью команды highlight
, подобной этой:
:highlight CursorLine term=underline guibg=#555555 cterm=underline
Это обычно делается в файле Vim colorscheme, который содержит много таких строк для определения цветов для частей пользовательского интерфейса Vim, а также для общих синтаксических элементов, таких как строки, числа, ключевые слова и т.д.
Вы можете указать Vim, какую цветовую схему использовать, введя команду colorscheme
, за которой следует имя схемы. Вот несколько схем, которые можно попробовать:
:colorscheme desert
:colorscheme evening
:colorscheme koehler
Однако большинство цветовых схем, включенных в Vim, на самом деле не содержат команды выделения для элемента CursorLine
, поэтому Vim просто использует встроенную раскраску курсорной линии по умолчанию.
Чтобы изменить цвета, которые Vim использует для линии курсора, вы можете включить собственную команду highlight
в файл .vimrc
(после выполнения любой команды colorcheme
; иначе цвета подсветки могут быть очищены). Еще лучше, если вы можете создать свой собственный файл colorcheme и добавить туда соответствующую команду выделения. (Облегчите себе задачу, найдя приемлемую цветовую схему, затем скопируйте ее и внесите любые изменения, которые вам нравятся).
Vim включает несколько файлов цветовых схем, и вы можете найти множество других в Интернете. Вот сайт, на котором представлены несколько сотен:
http://code.google.com/p/vimcolorschemetest/
Смотрите следующие темы помощи для получения дополнительной информации:
:help :colorscheme
:help :highlight
:help hl-CursorLine
На coloescemes свойство цвета линии курсора просто называется CursorLine. Например, в схеме цветов вомбата используется такая строка:
hi CursorLine guibg=#2d2d2d
Если вы хотите изменить цветовую схему по умолчанию, файлы хранятся (в большинстве дистрибутивов Linux) в / usr / share / vim / vim72 / colors.
Только одно замечание: опция CursorLine работает только с Vim 7 и выше, поэтому в очень маловероятном случае, когда вы когда-либо использовали эту цветовую схему с версией до 7 (или Vi), вам следует запросить версию в файле цветовой схемы, например:
if version >= 700
hi CursorLine guibg=#2d2d2d
endif