当我进入插入模式时,我发现这个片段会改变状态行颜色:
" first, enable status line always
set laststatus=2
" now set it up to change the status line based on mode
if version >= 700
au InsertEnter * hi StatusLine term=reverse ctermbg=5 gui=undercurl guisp=Magenta
au InsertLeave * hi StatusLine term=reverse ctermfg=0 ctermbg=2 gui=bold,reverse
endif
现在,当我进入插入模式时,状态行变为紫色,但我想将其更改为红色。我用红色改变了Magenta,但是它不起作用..
答案 0 :(得分:4)
如果您使用:help
,则可以了解每个属性的含义。
guisp
用于突出显示的“特殊”颜色。在这种情况下,它是undercurl效果的颜色。听起来你想要改变实际的高光颜色,所以试试这个:
au InsertEnter * hi StatusLine term=reverse ctermbg=5 gui=undercurl guisp=Magenta guibg=Red
事实上,如果您只使用GUI Vim,则不需要任何终端选项:
au InsertEnter * hi StatusLine guibg=Red
au InsertLeave * hi StatusLine guibg=#ccdc90
对于InsertLeave
,我只使用我的普通StatusLine
颜色作为示例。您应该可以在colorscheme文件中找到它。
顺便说一下,guibg
实际上会影响文字颜色,而guifg
会影响线条颜色......
答案 1 :(得分:4)
我没有看到你是否正在使用gui版本的Vim,或者只是在终端中使用Vim。
如果您在终端中,则需要将"ctermbg=5"
更改为"ctermbg=red"
。在这种情况下,"5"
会转换为"DarkMagenta"
。 Vim将接受这些属性的数字或颜色名称。
可以在Vim语法文档的Highlight Command下的第2节和第3节中找到更多信息。
答案 2 :(得分:1)
出色的解决方案:Powerline plugin