2015-04-30 2 views
1

Я работаю над добавлением автоматического выделения для моей текущей строки в Vim, которая соответствует текущему цвету режима, используемому в строке состояния. До сих пор я не имел большого успеха, если нашел способ получить то, что этот текущий цвет.Как извлечь текущую подсветку текущего режима, используемую в строке состояния?

Цвета для строки состояния устанавливаются на основе текущей темы, поэтому я предпочел бы установить текущий цвет текущей строки, а не жестко ее кодировать.

Например, некоторые из моих режима цветов:

Normal = Blue 
Insert = Green 
Visual = Red 

Я хотел бы иметь возможность получить точные цветовые коды, используемые для этих моментов из текущей темы, так что я могу настроить несколько простых автокоманд, чтобы использовать их для переключателей режимов.

Есть ли способ легко получить эти цвета?

ответ

1

Вы можете запросить цвета и атрибуты выделенной группы через synIDattr(); вы можете найти пример на :help hlID().

Если вы собираетесь использовать cursorline функцию и имеете одноцветный, которая получает строки статуса его StatusLine выделить группу динамически изменяться autocmds, просто связывая оба (:hi link CursorLine StatusLine), возможно, уже работает.

PS: Я лично нашел бы выделить запутанной, если та же цветная линия может либо представлять текущую строку или один из горизонтальных разделителей между окнами, но ваш пробег явно меняется ...