特定标识符或文件类型的双重匹配突出显示
Double match highlighting for specific identifiers or filetypes
在使用 https://github.com/plasticboy/vim-markdown 时,我发现降价 header 是 html 标识符。 h2
markdown header 有两个标识符与之相关:['mkdNonListItemBlck', 'htmlH2']
.
我不确定我是否能够 "double" 匹配并定义该选择的颜色,或者我是否应该只执行 htmlh2
突出显示文件类型 markdown
.
如果你想调整颜色,你需要找出哪个语法组导致突出显示。安装 SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor 插件会更容易。或者试试哪个 :highlight
命令改变颜色。
许多语法脚本是分层的,即一个文本由多个语法规则匹配。如果不深入研究这个特定的 Markdown 语法,我猜想 mkdNonListItemBlock
是一个通用块,而 htmlH2
来自原始的 HTML 语法。
Rephrasing my last question: I only want to highlight htmlH2
if I'm in a markdown file. I was hoping to "double" match both groups and then set the highlight preference.
不幸的是,这是不可能的。 htmlH2
之类的高亮组是全局的;这就是为什么约定在它们前面加上文件类型 (html
) 的原因。如果您重新定义颜色,那将始终适用于 HTML 和 Markdown。
您可以编写 :autocmd WinEnter
来在 HTML 和 Markdown 缓冲区之间来回切换它们(永远不要同时在拆分中查看),或者复制并粘贴语法内容从 syntax/html.vim
到 syntax/mkd.vim
,然后将 htmlH2
重命名为 mkdH2
,但我不推荐这两种 hack。
在使用 https://github.com/plasticboy/vim-markdown 时,我发现降价 header 是 html 标识符。 h2
markdown header 有两个标识符与之相关:['mkdNonListItemBlck', 'htmlH2']
.
我不确定我是否能够 "double" 匹配并定义该选择的颜色,或者我是否应该只执行 htmlh2
突出显示文件类型 markdown
.
如果你想调整颜色,你需要找出哪个语法组导致突出显示。安装 SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor 插件会更容易。或者试试哪个 :highlight
命令改变颜色。
许多语法脚本是分层的,即一个文本由多个语法规则匹配。如果不深入研究这个特定的 Markdown 语法,我猜想 mkdNonListItemBlock
是一个通用块,而 htmlH2
来自原始的 HTML 语法。
Rephrasing my last question: I only want to highlight
htmlH2
if I'm in a markdown file. I was hoping to "double" match both groups and then set the highlight preference.
不幸的是,这是不可能的。 htmlH2
之类的高亮组是全局的;这就是为什么约定在它们前面加上文件类型 (html
) 的原因。如果您重新定义颜色,那将始终适用于 HTML 和 Markdown。
您可以编写 :autocmd WinEnter
来在 HTML 和 Markdown 缓冲区之间来回切换它们(永远不要同时在拆分中查看),或者复制并粘贴语法内容从 syntax/html.vim
到 syntax/mkd.vim
,然后将 htmlH2
重命名为 mkdH2
,但我不推荐这两种 hack。