如何获得 Vim HTML 语法高亮显示来为整个标签着色?

How can I get Vim HTML syntax highlighting to colour the whole tag?

作为 PhpStorm 用户,我在尝试使用 Vim 时遇到的一件令人失望的事情是它在 HTML:

中进行语法高亮显示的方式

Vim 只给标记名和属性上色,让 <、/ 和 > 使用不同的颜色。那有什么意义呢?与我在 PhpStorm 中获得的视图相比,我发现这让人分心:

(忽略不同的配色方案。)我发现使用所有这些 <> 字符更难阅读代码。我如何修改 Vim 来执行此操作?

我正在为 Vim 使用 monokai 配色方案。

~/.vim/syntax/html.vim 中制作 syntax/html.vim 的本地副本(第一个文件名是您的系统安装目录)。

尝试更改 htmlTaghtmlTagEnd 的高亮组(靠近语法文件的底部)以匹配 htmlTagName 的高亮组。我喜欢默认设置,所以我只对几个文件进行了试验,它似乎没有破坏任何东西。由于颜色相同,因此不应再有人字形将其粘在您的受体锥上。

作为一个头脑简单的测试,这确实可能会破坏某些地方,您可能需要花几分钟与其他高亮组一起获得一致的外观。

您不需要修改 HTML 语法本身 - 这都可以通过覆盖默认的 link 来完成。 syntax/html.vim 为各种 HTML 元素定义 语法组 ,然后(在脚本末尾)links 某些 高亮组 的那些,其外观由您的 colorscheme 决定。如果你建立一个不同的link(在你的~/.vimrc),这将被尊重。因此,要使整个标签看起来像标签名称,请使用:

highlight link htmlTag htmlTagName
highlight link htmlEndTag htmlTagName