Kann ich sowohl die Hervorhebung von Python als auch SQL-Syntax in derselben Datei in Vim verwenden?

9

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?

    
Marco Mariani 02.02.2011, 10:28
quelle

3 Antworten

11

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

    
Marco Mariani 02.02.2011, 11:12
quelle
1

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%     
Xavier T. 02.02.2011 10:36
quelle
1

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 ).

    
ibizaman 20.04.2016 20:30
quelle

Tags und Links