创建一个基本的 html vim 语法文件

创建一个基本的 html vim 语法文件

我使用 vim 并输入大量 Django html 代码,但我不喜欢 htmldjango.vim 或 html.vim 突出显示语法。我决定我应该为 Django html 创建自己的基本语法突出显示。我想要的是所有 html 标签(ul、li、html、head、title、body、p 等)都变成蓝色,我希望所有变量(以 {{ }} 或 {% %} 开头和结尾的所有内容)都变成黄色,所有链接和链接名称(a href='link'>linkNames)都变成红色。

所以我的问题是,我如何告诉 vim,代码是否是以下任一标签:

<html> </html> <body> </body> <ul> </ul>

等等,然后将其涂成蓝色?

如果代码以

{{ or {%

并结束于

}} or %}

那么将它涂成黄色吗?如果它是链接或链接名称,那么将它涂成红色吗?

答案1

:help usr_44.txt从文档中关于编写自己的语法插件的章节开始。根据你的简单要求,从中挑选一些相关部分可能就足够了$VIMRUNTIME/syntax/html.vim。然后你可以通过以下方式查找任何特定主题:help :syn-...

请注意,默认语法插件已经花费了大量精力和调整;我自己也在用它,对它很满意。如果你觉得它太“花哨”,也就是说它突出了太多不同的部分,你可以保留语法并重新定义一些语法组来使用相同的突出显示组,例如

:hi link htmlTag Normal
:hi link htmlTitle Normal

答案2

首先,您需要设置一系列正则表达式来定义要突出显示的文本区域,如 中所述:help syntax。将这些突出显示组链接到其中一个公共组,如 中所述:help group-name。然后您的 colorscheme 应该使用命令为该组设置颜色:highlight

相关内容