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?
quelle
Antworten:
Beginnen Sie mit dem Kapitel über das Schreiben Ihres eigenen Syntax-Plugins
:help usr_44.txt
in 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
quelle
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:highlight
Befehls Farben für diese Gruppe festlegen .quelle