Gelegentlich möchte ich die Standardsyntax überschreiben, die Farben und Stile mit meinen eigenen Einstellungen hervorhebt.
Ich stelle mir vor, dass der beste Weg, dies zu tun, darin besteht, mein eigenes Farbschema zu erstellen. Ich habe jedoch ein paar Fragen.
Wenn ich eine Hervorhebung für eine bestimmte Syntaxgruppe in einer bestimmten Sprache festlegen möchte, gehört diese in mein Farbschema, oder ist es besser, sie zu platzieren
after/syntax/[filetype].vim
?highlight jsAssignExpIdent cterm=bold gui=bold
Es scheint etwas seltsam, obskure sprachspezifische Regeln in das Farbschema einzufügen, da sie in jeder Sprache geladen werden, an der ich arbeite, aber es scheint noch schlimmer, Hervorhebungsregeln in die Syntaxdatei einzufügen.
Manchmal erstelle ich neue Syntaxregeln für eine bestimmte Sprache in
after/syntax/[filetype].vim
. Wenn andere Benutzer diese Erweiterungen verwenden möchten, wäre es für mich angemessen, dort Standard-Hervorhebungsregeln anzugeben, die auf allgemeine Standard-Hervorhebungsgruppen verweisen? Wenn ein anderer Benutzer diese Hervorhebungsfarbe überschreiben möchte, wie sollte er das tun?::::: after/syntax/asm.vim ::::: syn match asmHexNumber /\(0x\|\$\)[0-9A-Fa-f]\+/ highlight default link asmHexNumber Number
quelle
highlight link ...
mache mir jedoch Sorgen, wenn ich Befehle in eine Syntaxdatei einfüge, die diese Einstellungen aus dem Farbschema jedes Mal überschreiben, wenn eine Datei mit diesem Dateityp geladen wird. Sollte ich das vielleicht erst tun,highlight link ...
nachdem ich überprüft habe, dass für diesen Namen keine Hervorhebungsregel vorhanden ist?highlight link
im Farbschema später durch einhighlight link
in einer Syntaxdatei überschrieben werden. Um dies zu vermeiden, können anstelle eines Links tatsächliche Argumente (ctermbg, guifg, ...) verwendet werden.highlight link ...
in Ihrem Syntax-Skript verwenden und Ihre Benutzer es überschreiben lassen, wenn sie dies möchten.highlight link ...
befürchtete, dass Benutzer, die sie in ihrem Farbschema verwenden, die Syntaxdatei möglicherweise später mit ihrer eigenen zurücksetzenhighlight link ...
. Ich sehe jetzt, dass gute Syntaxdateien dies vermeiden, indem sie verwendenhighlight default link ...
. Das sollte wahrscheinlich eine Korrektur derasmHexNumber
Regel in meiner Frage sein.