Где цвет строки курсора определен?

Если я установил cursorline опция я получаю свою текущую подчеркнутую строку курсора и все символы, какой цвет не указан также поворот к желтому (желтый появляется, только если Нормальная группа выделения является нетронутой). Интересно, где этот (желтый) цвет определяется?

Править: Я знаю о CursorLine выделите группу. Проблема состоит в том, что в системе цветов по умолчанию, которая я использую его, не определяется и :hi CursorLine шоу

CursorLine     xxx term=underline cterm=underline

где xxx окрашен с желтым и подчеркнут. Я не хочу изменять цвет, я хочу добавить cursorline поддержка 2html.vim- как плагин, таким образом, мне нужна некоторая группа/переменная/и т.д. выделения, где я могу получить этот желтый цвет от.

7
задан Cyrille 16 October 2015 в 13:30
поделиться

2 ответа

Редактировать: С помощью функции synIDattr() можно запросить большинство значений для определенной группы подсветки. Например, она выведет цвет переднего плана, назначенный CursorLine, если он был задан:

:echo synIDattr(synIDtrans(hlID("CursorLine")), "fg")

С помощью аналогичных вызовов можно также определить состояние underline, undercurl и т. д.

Пара предупреждений: synIDattr() глючная и неполная. Она иногда неожиданно возвращает -1, и в настоящее время не позволяет проверять все атрибуты. (Предположительно, исправление готовится для ближайшего выпуска Vim.) Дополнительную информацию см. в этих темах:

Проблема с synIDattr()

Программно определить текущую настройку "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
6
ответ дан 7 December 2019 в 07:39
поделиться

На 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
0
ответ дан 7 December 2019 в 07:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: