Vim命令行颜色设置

时间:2012-08-03 23:19:57

标签: vim syntax-highlighting

有没有办法在vim中为命令行颜色和“Normal”文本颜色设置不同的颜色。当我使用

:hi Normal guifg=orange

命令行和普通文本颜色变为橙色。我希望gui底部的命令行是不同的颜色。

4 个答案:

答案 0 :(得分:4)

不,不是我所知道的。

并非没有搞乱Vim的来源。

命令行位于正常突出显示组下。

答案 1 :(得分:1)

如今,NeoVim具有此功能。 MsgArea颜色组。例如

:hi MsgArea guifg=#03ff13

screenshot

答案 2 :(得分:0)

这可以通过自动命令完成:

hi Normal=white guifg=white
au CmdLineEnter * hi Normal ctermfg=cyan guifg=cyan
au CmdLineLeave * hi Normal ctermfg=white guifg=white

令我惊讶的是,这只会影响CmdLine,而不会影响其他所有内容。

我原本期望所有普通文本在进入CmdLine时立即改变颜色。如果没有CmdLineLeave,就会发生对正常文本的更改,但只有在退出命令行之后才会发生;这解释了为什么它做了我们想要的。

请注意我从终端使用vim,所以我使用的是ctermfg而不是guifg;但我预计它将与gui版本的vim一样工作。

您可能还想突出显示ModeMsg。

答案 3 :(得分:0)

这可以通过Vim 8.2中引入的新wincolor选项来完成:

set wincolor=NormalAlt
autocmd WinEnter set wincolor=NormalAlt
hi Normal       guifg=#CED1CF       guibg=#000000       gui=NONE
hi NormalAlt    guifg=#CED1CF       guibg=#1B1D21       gui=NONE

enter image description here