4

当我进入插入模式时,我发现这个片段可以改变状态行的颜色:

" 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

现在,当我进入插入模式时,状态行变为紫色,但我想将其更改为红色。我用红色换了洋红色,但它不起作用..

4

3 回答 3

4

如果您使用:help,您可以找出每个属性的含义。

guisp用于突出显示的“特殊”颜色。在这种情况下,它是底卷曲效果的颜色。听起来您想更改实际的突出显示颜色,所以试试这个:

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颜色为例。您应该能够在您的配色方案文件中找到它。

顺便说一句,guibg实际上影响文字颜色,而guifg影响线条颜色......

于 2012-06-21T21:46:44.217 回答
4

我没有看到任何提及您是使用 gui 版本的 Vim,还是仅在终端中使用 Vim。

如果您在终端中,则需要更改"ctermbg=5""ctermbg=red"。在这种情况下"5"转换为"DarkMagenta". Vim 将接受这些属性的数字或颜色名称。

更多信息可以在Vim 语法文档的Highlight 命令下的第 2 节和第 3 节中找到。

于 2012-06-21T23:33:10.203 回答
1

很好的解决方案:电力线插件

正常模式 插入模式

于 2012-06-23T19:26:49.767 回答