繁体   English   中英

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

[英]Changing Vim background color - and not text color

我希望看看我是否可以改变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 - 默认颜色 - 我喜欢 - 命令模式 当我打开vi  - 默认颜色 - 我喜欢 - 命令模式

  2. 当我进入“插入”模式时(背景巧妙地改变(好!)文本更改(不是我想要的) 在此输入图像描述

  3. 退出插入,返回“命令”模式 在此输入图像描述

我谷歌了一些,发现另一个SO帖子,这解释了ctermbg的工作方式,它不只是改变背景颜色,而是使用

set background=

我也试过了:

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

它改变了字体颜色和背景颜色,但这次当我回到命令模式时,字体颜色恢复正常(与背景一起)。

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

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

答案是肯定的

诀窍在于直接使用GUI颜色(如GVim)而不是终端颜色。 请试试这个:

  1. .vimrc设置colorscheme之前添加set termguicolors
  2. 添加autocmd InsertEnter * hi Normal guibg=#4D4D4D
  3. 添加autocmd InsertLeave * hi Normal guibg=#333333

如果您的终端兼容并且您的Vim发行版是最新的,它应该可以工作。

如果您喜欢Dark Vim colorschemes,您可能对Archery感兴趣。 我在GitHub上分享了这个项目: https//github.com/Badacadabra/vim-archery

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM