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

Linux 更改Vim背景颜色-而不是文本颜色,linux,vim,colors,Linux,Vim,Colors,我希望看看我是否可以改变Vim的背景颜色,这样当我在插入模式时,我的背景会稍微改变。(我的默认值是深灰色,我希望改为浅灰色) 我在跟踪一些其他的帖子,所以我找到了,并尝试了 autocmd InsertEnter * hi Normal ctermbg=darkgrey autocmd InsertEnter * hi Normal ctermbg=none 这是轻微的工作,因为它会改变我的背景,但它也改变了我的文本颜色-我只是想改变背景 我试着添加了ctermfg(前台?) 还是没修好 供参

我希望看看我是否可以改变Vim的背景颜色,这样当我在插入模式时,我的背景会稍微改变。(我的默认值是深灰色,我希望改为浅灰色)

我在跟踪一些其他的帖子,所以我找到了,并尝试了

autocmd InsertEnter * hi Normal ctermbg=darkgrey
autocmd InsertEnter * hi Normal ctermbg=none
这是轻微的工作,因为它会改变我的背景,但它也改变了我的文本颜色-我只是想改变背景

我试着添加了ctermfg(前台?)

还是没修好

供参考的图片:

  • 当我打开vi时-默认颜色-我喜欢-命令模式

  • 当我进入“插入”模式时(背景微妙地改变(很好!)文本改变(不是我想要的)

  • 退出插入,返回“命令”模式

  • 我在谷歌上搜索了更多的内容,发现了另一篇SO帖子,这篇文章解释了ctermbg的工作方式,它不仅仅改变背景颜色,而是使用

    set background=
    
    我也试过了:

    autocmd InsertEnter * set background=dark
    autocmd InsertLeave * set background=light
    
    它会更改字体颜色和背景颜色,但这次当我返回到命令模式时,字体颜色会恢复正常(与背景一起)

    从插入模式切换到命令模式时,是否可以在不影响文本颜色的情况下在2种颜色(浅灰色和深灰色)之间更改背景颜色

    是否可以只在两种颜色之间更改背景颜色 (浅灰色和深灰色)不影响文本颜色,从 插入模式到命令模式

    答案是肯定的

    诀窍在于直接使用GUI颜色(如GVim)而不是终端颜色。请尝试以下方法:

  • 中设置配色方案之前,添加
    set termguicolors
    。vimrc
  • 添加
    autocmd插入器*hi Normal guibg=#4d
  • 添加
    autocmd InsertLeave*hi Normal guibg=#333333
  • 如果您的终端兼容并且Vim分发版是最新的,那么它应该可以工作

    如果您喜欢深色Vim配色方案,您可能会对射箭感兴趣。我在GitHub上分享了该项目:

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