[英]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.