vimrc 文件中的曝光颜色定义

vimrc 文件中的曝光颜色定义

日晒主题定义了一些基色并将其分配给变量,如图所示这里

我想知道如何在我的.vimrc文件中使用这些颜色定义。目前,我使用 Pathogen 来加载 Solarized,它加载了一个简单的syntax enabledand colorscheme solarized,但是当我想s:base00在我的.vimrc文件中引用 例如 时,我收到一个错误:

E421: Color name or number not recognized: ctermfg=s:base00

答案1

有两个问题:

  • :highlight命令不会将ctermfg值作为表达式进行计算。它只接受文字颜色编号或颜色名称(请参阅:help cterm-colors)。您得到 E421,因为s:base00它不是数字,也不是有效的颜色名称。

    您可以使用它execute 'highlight GroupName ctermfg=' . s:base00来构建命令字符串并执行它(这基本上就是colors/solarized.vim所做的);但是还有一个额外的问题。

  • 以 开头的变量s:是脚本局部变量(请参阅),因此它们在您的(或除了定义它们的脚本之外的任何地方):help s:var中不可访问。.vimrccolors/solarized.vim

    定义脚本将颜色值“导出”作为其定义的突出显示组的一部分,但似乎没有导出它用于每种 Solarized 颜色的单独 cterm/gui 值。如果您想创建自己的使用这些值的突出显示组,那么您可能必须将其编辑到您的副本中colors/solarized.vim(尽管您可能想使用s:fg_base00/s:bg_base00而不是s:base00因为前一个封面guifgvs.,ctermfg以便您的组会自动工作GUI 和终端)。

相关内容