针对特定标识符或文件类型的双重匹配突出显示

时间:2016-10-23 23:28:41

标签: vim syntax-highlighting

使用https://github.com/plasticboy/vim-markdown时,我发现markdown标头是html标识符。 h2降价标头有两个与之绑定的标识符:['mkdNonListItemBlck', 'htmlH2']

我不确定我是否能够“加倍”匹配并定义该选择的颜色,或者我是否应该只执行htmlh2突出显示该文件是否为markdown类型。

1 个答案:

答案 0 :(得分:0)

如果要调整颜色,则需要找出导致突出显示的语法组。安装SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor插件时更容易。或者只是尝试使用:highlight命令更改颜色。

许多语法脚本是分层的,即文本由多个语法规则匹配。如果不深入研究这种特殊的Markdown语法,我猜mkdNonListItemBlock是一个通用块,而htmlH2来自原始的HTML语法。

  

改述我的上一个问题:如果我在降价文件中,我只想强调htmlH2。我希望“加倍”匹配两个组,然后设置突出显示偏好。

遗憾的是,这是不可能的。突出显示htmlH2等群组是全球性的;这就是为什么约定用文件类型(html)作为前缀。如果重新定义颜色,则始终适用于HTML和Markdown。

您可以编写:autocmd WinEnter来在HTML和Markdown缓冲区之间来回切换它们(并且永远不会同时在分割中查看),或者复制并粘贴syntax/html.vim中的语法内容进入syntax/mkd.vim,然后将htmlH2重命名为mkdH2,但我不会推荐任何黑客。