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


0

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

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

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

等,然后给它上色吧?

如果代码以

{{ or {%

最后以

}} or %}

那么把它染成黄色?如果它是链接或链接名称,那么将其着色为红色?


语法脚本处理定义什么是标记或属性或什么,以及colorschemes处理如何显示这些符号。你的HTML问题是什么?如何定义标签和内容或如何显示它们?
罗曼

@romainl它们是如何显示的。标签定义很好。
user216485 2014年

然后您不需要编写语法文件或修改现有文件:修改您的colorscheme。
罗曼

Answers:


0

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

请注意,已经在默认语法插件上花费了大量精力和调整; 我自己用它并且对此非常满意。如果您发现它太“丰富多彩”,即它突出了太多不同的部分,您可以保留语法并重新定义一些语法组以使用相同的突出显示组,例如

:hi link htmlTag Normal
:hi link htmlTitle Normal

好吧,你能回答我在这里发布的新问题:superuser.com/questions/700343/editing-the-htmldjango-vim-file
user216485 2014年

0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.