Установить цвет текста для строки в строке состояния - PullRequest
0 голосов
/ 19 апреля 2019

В предисловии я скажу, что я использую Airline, plytophogy / vim-virtualenv плагин и gruvbox в качестве темы Airline.

Я пытаюсь изменить цвет какой-либо строки в строке состояния, скажем, на оранжевый. В моем случае это строка "@my_env", в которой указана моя текущая рабочая среда: enter image description here

В настоящее время строка в моем .vimrc, отвечающая за этот текст:

let g:airline_section_c='%t @%{virtualenv#statusline()}'

Исходя из этого вопроса , я попытался изменить строку .vimrc на

let g:airline_section_c='%t %#orange#@%{virtualenv#statusline()}'

, который, кажется, выделил строку состояния с "@my_env" и далее: Before

Кажется, что использование %#any_color# или даже %## само по себе дает тот же эффект.

Я прочитал все : h 'statusline' и, похоже, не нашел подходящего решения.

Итак, мой вопрос: есть ли способ установить цвет для строки в строке состояния?

EDIT

На вопрос был дан ответ здесь

Кажется, что невозможно изменить цвет текста на экране без изменения всей группы форматирования (включая фон).

Добавление %#airline_c# к концу строки для добавления исправило проблему выделения, хотя:

Вот как это выглядит с

let g:airline_section_c='%t %#Special#%{virtualenv#statusline()}%#airline_c#'

где Special - случайная группа выделения

1 Ответ

0 голосов
/ 20 апреля 2019

В :help statusline в описании форматирования вы можете найти:

   * -   Set highlight group to User{N}, where {N} is taken from the                                                                                                                                          
          minwid field, e.g. %1*.  Restore normal highlight with %* or %0*.                                                                                                                                    
          The difference between User{N} and StatusLine  will be applied                                                                                                                                       
          to StatusLineNC for the statusline of non-current windows.                                                                                                                                           
          The number N must be between 1 and 9.  See hl-User1..9 

Так что если вы измените:

let g:airline_section_c='%t %#orange#@%{virtualenv#statusline()}'

на:

let g:airline_section_c='%t %#orange#@%{virtualenv#statusline()}%*'

Это должно остановить окраску после virtualenv.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...