9

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

:hi Normal guifg=orange

命令行和正常文本颜色变为橙色。但是,我希望 gui 底部的命令行具有不同的颜色。

4

4 回答 4

6

不,不是我知道的。

并非没有弄乱 Vim 的源代码。

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

于 2012-08-04T01:52:40.957 回答
5

现在 NeoVim 具有该功能。MsgArea颜色组。例如

:hi MsgArea guifg=#03ff13

截屏

于 2020-11-02T08:12:58.933 回答
2

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

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。

于 2018-01-02T05:07:08.990 回答
1

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

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

在此处输入图像描述

于 2020-10-23T11:38:21.770 回答