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?
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?
Antworten:
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 Wache if exists("b:current_syntax") finish endif
. Also, in meinem Fall war das scriptnames
hilfreich, aber ich musste etwas tiefer graben.
Die Syntax für den aktuellen Puffer kann über abgefragt werden
:setlocal syntax?
Es entspricht normalerweise (aber nicht unbedingt) dem Dateityp des Puffers ( :setlocal filetype?
).
Für einen tieferen Blick
:syntax list
zeigt alle Syntaxdefinitionen (einige Syntaxen (can) umfassen Syntaxen die andere Sprache, zum Beispiel java
hat html
für den JavaDoc Kommentar Markup).
Sie können anzeigen, welche Dateitypen derzeit und von verwendet werden
:verbose set ft ?
Das Plugin, das den Dateityp verwaltet, befindet sich höchstwahrscheinlich unter
:e $VIMRUNTIME\ftplugin