VIM - 如何更改 if、else、endif、for 和 endfor 语句的颜色

VIM - 如何更改 if、else、endif、for 和 endfor 语句的颜色

我只需要 Django html,因此我有普通的 html 标签以及 if、else、endif、for 和 endfor 语句。我使用名为 slate 的定制版本的配色方案。配色方案中有一行内容如下:

:hi Statement guifg=CornflowerBlue ctermfg=lightblue

它会将所有 html 标签以及 if、else、endif、for 和 endfor 语句变为 cornflowerBlue 颜色。如何使 if、else、endif、for 和 endfor 语句的颜色与 html 标签的颜色不同?

答案1

相应的突出显示链接如下:

syntax/django.vim

HiLink djangoStatement Statement

syntax/html.vim

HtmlHiLink htmlTagName                 htmlStatement
HtmlHiLink htmlStatement          Statement

您会看到,两者最终都链接到Statement您的配色方案中定义的组,并且在您的情况下为蓝色。

要更改这些,请从您的配色方案中选择突出显示组(例如SpecialConstant),然后重新定义您的链接~/.vimrc

highlight link htmlTagName Special
highlight link djangoStatement Contant

HiLink该命令(仅仅是 的包装器)的隐藏魔力:hi def link在于,当存在链接时(如上面两行),aultdef不会被激活。

或者,您也可以当场定义新颜色(但最好集中在配色方案中):

highlight htmlTagName ctermfg=Cyan guifg=Cyan

相关内容