Vim hebt meine Datei auf witzige Weise in der Syntax hervor, und ich möchte wissen, welche Syntaxdatei für dieses Verhalten verantwortlich ist. Wie finde ich heraus, welche Syntaxdateien vim geladen hat?
50
Um herauszufinden, welche Dateien Vim tatsächlich geladen hat, führen Sie Folgendes aus
:scriptnames
:echo b:current_syntax
. Um die derzeit gültigen Syntaxelemente anzuzeigen, führen Sie die Schritte aus, die Ingo vorgeschlagen hat:syntax list
. Letzteres kann hilfreich sein, wenn, wie Ingo bemerkt, Syntaxelemente aus mehr als einer Syntaxdatei aktiv sind./usr/share/vim/vim73/filetype.vim
. Nachdem ich den obigen Befehl verwendet hatte, stellte ich fest, dass MacVims Version unter verwendet wurde~/Applications/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
. Wenn Sie MacVim installiert haben, stellen Sie sicher, dass Sie die richtige Datei ändern./usr/share/vim/vim81/syntax/cf.vim
für mich) ausgeliefert. Ich habe eine benutzerdefinierte cf.vim installiert, da die Standardversion datiert ist.:scriptnames
zeigt beide Dateien. Der Standardwert ist in der Skriptliste niedriger. Ersteres wird jedoch verwendet. Wenn Sie sehen/usr/share/vim/vim81/syntax/cf.vim
, gibt es eine Wacheif exists("b:current_syntax") finish endif
. Also, in meinem Fall war dasscriptnames
hilfreich, aber ich musste etwas tiefer graben.Die Syntax für den aktuellen Puffer kann über abgefragt werden
Es entspricht normalerweise (aber nicht unbedingt) dem Dateityp des Puffers (
:setlocal filetype?
).Für einen tieferen Blick
zeigt alle Syntaxdefinitionen (einige Syntaxen (can) umfassen Syntaxen die andere Sprache, zum Beispiel
java
hathtml
für den JavaDoc Kommentar Markup).quelle
Sie können anzeigen, welche Dateitypen derzeit und von verwendet werden
Das Plugin, das den Dateityp verwaltet, befindet sich höchstwahrscheinlich unter
quelle