Ich verwende mehrzeilige Strings für SQL-Abfragen in Python-Programmen.
Gibt es eine Möglichkeit, Vim mitzuteilen, dass sie verschiedene Hervorhebungsregeln in ihnen anwenden soll, möglicherweise mithilfe eines --SQL
-Markers?
Ich kopiere-eingefügt-geändert von hier :
%Vor%Jetzt erhält jede Multiline-Tripel-Single-Quote-Zeichenfolge die SQL-Syntax. Dreifach doppelt zitierte Strings sind immer noch klar. Ich habe sqlpostgres.vim geändert, um SQL-Nuancen von Grün zu geben, um die zwei Sprachen zu unterscheiden, und es sieht süß in dem Tintenpatronenschema mit 256 Farben aus.
Auch verwandt: Eingebettete Syntax, die in Vim highligting ist
Sie können die folgende Option in Ihrer Datei ausprobieren:
setfiletype=python.sql
Er gibt beiden Dateien den Dateityp und sollte beide Syntax-Highlighting anwenden.
Wenn es für Sie funktioniert, können Sie Ihrem .vimrc
die folgende Zeile hinzufügen, um sie auf jede von Ihnen bearbeitete Python-Datei anzuwenden:
autocmd BufRead,BufNewFile *.py setfiletype=python.sql
Es geht jedoch nicht wirklich um Konflikte zwischen den beiden Highlight-Gruppen ... Es könnte also in Ihrem Fall funktionieren oder nicht.
Sie können auch eine Funktion erstellen, um den Dateityp Ihres geöffneten Puffers schnell umzuschalten:
%Vor%Ich weiß, dass es eine akzeptierte Antwort gibt, aber dennoch, hier ist ein anderer Weg, es zu tun:
%Vor% Damit beginnt die Hervorhebung bei einem der angegebenen SQL-Schlüsselwörter und endet entweder beim ersten ;
und kann beim nächsten SQL-Schlüsselwort neu gestartet werden oder endet am Ende der Python-Zeichenfolge (siehe keepend
).
Tags und Links syntax-highlighting vim