2017-03-13 221 views
0

我希望看看我是否可以更改Vim的背景顏色,以便在插入模式時我的背景略有變化。 (我的默認是深灰色,我希望改成淺灰色)。更改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

我google'd多一些,並發現了另一個SO後,這是解釋ctermbg的方式是如何工作的,是它不只是改變背景顏色,而是使用

set background= 

我想,太:

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

它改變字體顏色和背景顏色,但是這一次,當我再回到命令模式下的字體顏色恢復正常(與背景一起)。

是否有可能在不影響文本顏色的情況下,從插入模式切換到命令模式,更改2色(淺灰色和深灰色)之間的背景色?

回答

0

是否有可能,只是改變2色 (淺灰色和深灰色)的背景色,而不會影響文字的顏色,從 插入模式將命令模式?

答案是

技巧在於直接使用GUI顏色(如GVim)而不是終端顏色。請試試這個:

  1. 添加set termguicolors.vimrc
  2. 設置色彩方案之前添加autocmd InsertEnter * hi Normal guibg=#4D4D4D
  3. 添加autocmd InsertLeave * hi Normal guibg=#333333

如果終端是兼容的,你的vim分佈上最新,它應該工作。

如果你喜歡黑暗的Vim色彩方案,你可能會感興趣射箭。我已經在GitHub上分享了這個項目:https://github.com/Badacadabra/vim-archery