Vim
vimrc 文件中的曝光顏色定義
solarized 主題定義了一些基本顏色並將它們分配給變數,如此處所示。
我想知道如何在我的
.vimrc
文件中使用這些顏色定義。目前,我使用病原體來載入 solarized 並且它載入了一個簡單的syntax enabled
andcolorscheme solarized
,但是當我想s:base00
在我的.vimrc
文件中引案例如時,我得到一個錯誤:E421: Color name or number not recognized: ctermfg=s:base00
有兩個問題:
- 該
:highlight
命令不會將ctermfg
值評估為表達式。它只接受文字顏色編號或顏色名稱(請參閱 參考資料:help cterm-colors
)。你得到 E421 因為s:base00
它不是一個數字,也不是一個有效的顏色名稱。您可以使用
execute 'highlight GroupName ctermfg=' . s:base00
建構命令字元串並執行它(這基本上就是colors/solarized.vim
這樣做的);但是還有一個額外的問題。
- 以 開頭的變數
s:
是腳本局部變數(請參閱:help s:var
),因此它們無法在您的.vimrc
(或定義它們的腳本之外的任何地方:)中訪問colors/solarized.vim
。定義腳本將顏色值“導出”為它定義的高亮組的一部分,但似乎沒有導出它用於每個 Solarized 顏色的單個 cterm/gui 值。如果您想創建自己的使用這些值的突出顯示組,那麼您可能必須將其編輯到您的副本中
colors/solarized.vim
(儘管您可能希望使用s:fg_base00
/s:bg_base00
而不是s:base00
因為以前的封面guifg
vs.ctermfg
以便您的組會自動工作GUI 和終端)。