Was ist der Unterschied zwischen "Dateityp-Plugin-Einzug auf" und "Dateityp-Einzug auf"?

38

Ich sehe eine dieser beiden Zeilen in .vimrcDateien. Dieser scheint am häufigsten zu sein:

filetype plugin indent on

Aber wie unterscheidet es sich von dieser Zeile:

filetype indent on

Ich habe Dokumentation für Letzteres gefunden , aber ich bin immer noch verwirrt.

Flimm
quelle
2
:filetypeNeben- Tipp: Sie können die Dateitypeinstellungen anzeigen.
wisbucky

Antworten:

46

filetype plugin indent on ist wie eine Kombination dieser Befehle:

filetype on
filetype plugin on
filetype indent on

Es aktiviert "Erkennung", "Plugin" und "Einrücken" gleichzeitig. Sie können es selbst überprüfen, indem Sie lesen :help :filetype-overview.

Erkennung

Was macht die Dateityperkennung? Aus den Dokumenten:

Jedes Mal, wenn eine neue oder vorhandene Datei bearbeitet wird, versucht Vim, den Dateityp zu erkennen und die Option 'Dateityp' festzulegen. Dies löst das FileType-Ereignis aus, mit dem die Syntaxhervorhebung, die Optionen usw. festgelegt werden können.

Dies ist weniger verwirrend, wenn Sie feststellen, dass sich der filetypeBefehl von der filetypeOption unterscheidet. (Der Befehl :filetype..., die Option: :set filetype...)

Plugin

Was macht der "Plugin" Teil? Aus den Dokumenten:

Dadurch wird die Datei "ftplugin.vim" in "runtimepath" geladen.

Das Ergebnis ist, dass beim Bearbeiten einer Datei deren Plugin-Datei geladen wird (falls es eine für den erkannten Dateityp gibt).

Die zu ladende Datei muss nicht unbedingt einen Namen haben ftplugin.vim, dies kann ftplugin/html_example.vimbeispielsweise sein.

Einzug

Was macht der Teil "Einrücken"? Aus den Dokumenten:

Dadurch wird die Datei "indent.vim" in "runtimepath" geladen.

Das Ergebnis ist, dass beim Bearbeiten einer Datei deren Einrückungsdatei geladen wird (falls es eine für den erkannten Dateityp gibt). Gedankenstrich

Auch hier darf die Datei nicht benannt werden indent.vim, sie könnte beispielsweise benannt indent/html_example.vimwerden.

Flimm
quelle
1
Zur Verdeutlichung sollte der Name der Datei dem 'Dateityp' entsprechen, für den aktiviert werden soll, z. B. entweder <type>/foobar.vim(ein Unterverzeichnis pro Dateityp) <type>_foobar.vimoder einfach, <type>.vimwo <Typ> dem tatsächlichen Dateityp entspricht
Christian Brabandt