更改Vim的背景颜色 - 而不是文本颜色

4

我希望能够更改Vim的背景颜色,这样当我处于插入模式时,背景会稍微变化一下(我的默认颜色是深灰色,我希望更改为浅灰色)。

我正在遵循我发现的其他SO文章,并尝试:

autocmd InsertEnter * hi Normal ctermbg=darkgrey
autocmd InsertEnter * hi Normal ctermbg=none

这个方法有点作用,因为它可以改变我的背景,但同时也会改变我的文本颜色 - 我只想要改变背景。

我尝试添加ctermfg(前景色?)

autocmd InsertEnter * hi Normal ctermfg=none ctermbg=darkgrey
autocmd InsertEnter * hi Normal ctermfg=none ctermbg=none

问题仍未解决。

参考图片:

  1. 当我打开vi - 默认颜色 - 我喜欢的 - 命令模式 When I open up vi - Default colors - which I like - Command mode

  2. 当我进入“插入”模式时,背景色略有变化(很好!)文本更改(不是我想要的) enter image description here

  3. 从插入状态退出,返回到“命令”模式 enter image description here

我在谷歌上搜索了更多,发现了另一篇SO帖子,其中解释了ctermbg的工作方式,它不仅会更改背景颜色,而且还会使用:

set background=

我也尝试过这样做:

autocmd InsertEnter * set background=dark
autocmd InsertLeave * set background=light

这会更改字体颜色和背景颜色,但是这次当我回到命令模式时,字体颜色恢复为正常(连同背景一起)。

是否可能在从插入模式到命令模式的过程中,只更改背景颜色而不影响文本颜色,使其在两种颜色(浅灰色和深灰色)之间变化?

1个回答

4
你是否可以在插入模式和命令模式之间只更改背景颜色(浅灰色和深灰色),而不影响文本颜色?
答案是肯定的!
诀窍在于直接使用GUI颜色(如GVim)而不是终端颜色。请尝试以下步骤:
1. 在你的.vimrc中设置颜色方案之前添加“set termguicolors”。 2. 添加“autocmd InsertEnter * hi Normal guibg=#4D4D4D”。 3. 添加“autocmd InsertLeave * hi Normal guibg=#333333”。
如果你的终端兼容并且Vim分发是最新的,它应该能够正常工作。
如果你喜欢暗色调的Vim配色方案,你可能会对Archery感兴趣。我已经在GitHub上分享了这个项目:https://github.com/Badacadabra/vim-archery

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接