Vim

vimrc 文件中的曝光顏色定義

  • October 29, 2012

solarized 主題定義了一些基本顏色並將它們分配給變數,如此處所示

我想知道如何在我的.vimrc文件中使用這些顏色定義。目前,我使用病原體來載入 solarized 並且它載入了一個簡單的syntax enabledand colorscheme 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因為以前的封面guifgvs.ctermfg以便您的組會自動工作GUI 和終端)。

引用自:https://unix.stackexchange.com/questions/53051