有没有办法为命令行颜色和vim中的“普通”文本颜色设置不同的颜色。当我使用
:hi Normal guifg=orange
命令行和正常文本颜色变为橙色。但是,我希望 gui 底部的命令行具有不同的颜色。
有没有办法为命令行颜色和vim中的“普通”文本颜色设置不同的颜色。当我使用
:hi Normal guifg=orange
命令行和正常文本颜色变为橙色。但是,我希望 gui 底部的命令行具有不同的颜色。
不,不是我知道的。
并非没有弄乱 Vim 的源代码。
命令行位于正常突出显示组下。
这可以通过自动命令来完成:
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。