Erstellen einer grundlegenden HTML-VIM-Syntaxdatei

0

Ich benutze vim und gebe viel Django-HTML-Code ein. Die Hervorhebungssyntax von htmldjango.vim oder html.vim gefällt mir nicht. Ich entschied, dass ich nur meine eigene grundlegende Syntax-Hervorhebung für Django-HTML erstellen sollte. Ich möchte nur, dass alle HTML-Tags (ul, li, html, head, title, body, p usw.) blau angezeigt werden. Ich möchte, dass alle Variablen (alles, was mit {{}} oder {%%} beginnt und endet) ) gelb einfärben und alle Links und Linknamen (a href = 'link'> linkNames) rot einfärben.

Meine Frage ist also, wie kann ich vim mitteilen, dass der Code eines der folgenden Tags ist:

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

usw., um es dann blau zu färben?

und wenn der Code mit beginnt

{{ or {%

und endet mit

}} or %}

dann, um es gelb zu färben? Und wenn es sich um einen Link oder einen Linknamen handelt, färben Sie ihn dann rot?

user216485
quelle
Syntax-Skripte definieren, was ein Tag oder Attribut oder was auch immer ist, und Farbschemata definieren, wie diese Symbole angezeigt werden. Was ist Ihr Problem mit HTML? Wie werden Tags und Sachen definiert oder wie werden sie angezeigt?
Romainl
@romainl wie sie angezeigt werden. Die Tags sind gut definiert.
user216485
Dann müssen Sie keine Syntaxdatei schreiben oder eine vorhandene ändern: Ändern Sie Ihr Farbschema.
Romainl

Antworten:

0

Beginnen Sie mit dem Kapitel über das Schreiben Ihres eigenen Syntax-Plugins :help usr_44.txtin der Dokumentation. Bei Ihren einfachen Anforderungen ist es wahrscheinlich ausreichend, einige relevante Teile auszuwählen $VIMRUNTIME/syntax/html.vim. Sie können dann über nach bestimmten Themen suchen:help :syn-...

Beachten Sie, dass für das Standardsyntax-Plugin bereits viel Aufwand und Optimierungsarbeit aufgewendet wurde. Ich benutze es selbst und bin sehr zufrieden damit. Wenn Sie es einfach zu "bunt" finden, dh wenn es zu viele verschiedene Teile hervorhebt, können Sie einfach die Syntax beibehalten und einige Syntaxgruppen neu definieren, um dieselbe Hervorhebungsgruppe zu verwenden, z

:hi link htmlTag Normal
:hi link htmlTitle Normal
Ingo Karkat
quelle
hm okay, kannst du die neue Frage beantworten, die ich hier gestellt habe: superuser.com/questions/700343/editing-the-htmldjango-vim-file ?
user216485
0

Zunächst richten Sie eine Reihe von regulären Ausdrücken ein, um Textbereiche für die Hervorhebung zu definieren, wie in beschrieben :help syntax. Verknüpfen Sie diese Hervorhebungsgruppen mit einer der allgemeinen Gruppen, wie in beschrieben :help group-name. Dann sollte Ihr Farbschema mithilfe eines :highlightBefehls Farben für diese Gruppe festlegen .

Ben
quelle