首先,我将使用Airline,plytophogy/vim-virtualenv插件和gruvbox作为Airline主题。
我正在尝试将状态行中某些字符串的颜色更改为橙色。 在我的情况下,这是表示我当前工作环境的“ @my_env”字符串:
当前,.vimrc中负责该文本的行是:
let g:airline_section_c='%t @%{virtualenv#statusline()}'
基于此question,我尝试将.vimrc行更改为
let g:airline_section_c='%t %#orange#@%{virtualenv#statusline()}'
似乎单独使用%#any_color#
甚至%##
也会产生相同的效果。
我已经阅读了所有:h 'statusline',但似乎没有找到合适的解决方案。
所以我的问题是:是否可以在状态栏中为字符串设置颜色?
编辑:
问题已得到解答here
似乎无法更改屏幕的文本颜色而不更改其整个格式设置组(包括背景)。
在字符串的末尾附加%#airline_c#
可以解决突出显示的问题:
这就是
的样子 let g:airline_section_c='%t %#Special#%{virtualenv#statusline()}%#airline_c#'
答案 0 :(得分:0)
在: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之后停止着色。