簡體   English   中英

Vim正常背景更改前景文本顏色

[英]Vim Normal Background Changing Foreground Text Color

我試圖在我的vim主題中標准化終端顏色,並且遇到了一些奇怪的現象,關於Vim如何根據背景顏色來處理前景文本顏色。

考慮一下這個非常簡單的vim主題:

if exists("syntax_on")
  syntax reset
endif

set t_Co=256

highlight Normal ctermfg=NONE ctermbg=234 cterm=NONE
highlight PreProc ctermfg=197 ctermbg=NONE cterm=NONE

它不是很漂亮(作為一個簡單示例),但是看起來像這樣:

如果我然后將“ Normal設置為ctermbg=NONE則更改一行, ctermbg=NONE所示:

highlight Normal ctermfg=NONE ctermbg=NONE cterm=NONE

我得到的東西看起來像這樣:

如您所見,背景明顯改變(如預期),但前景顏色也改變。

為什么在vim更改此屬性會導致此行為? 如何在不更改前景色的情況下刪除背景?

我正在OS X中使用啟用256位顏色的默認終端。

感謝您的幫助!

該行為是正常的,預期的,並在:hi-normal-cterm

基本上, background選項的值用於為不同的突出顯示組定義一堆默認顏色,並且每當更改“ Normal突出顯示組時都會重新定義該選項。

要強制設置background值,請將此行添加到您的colorcheme中:

set background=dark

要么:

set background=light

另外,沒有理由將set t_Co=256放在任何vim腳本中的任何地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM