autocmd
s sind spezielle Befehle, die bei bestimmten Ereignissen oder bestimmten Dateitypen ausgelöst werden. Sie werden häufig verwendet, um Optionen festzulegen oder Zuordnungen festzulegen, die in einer Sprache sinnvoll sind, in anderen jedoch nicht.
Da autocmd
s weit verbreitet für Dateityp-spezifische Dinge verwendet werden, if has("autocmd")
ist ein Weg, um zu testen, ob die autocmd
Funktion verfügbar ist und dass wir ohne viel Risiko weiter gehen können.
Der richtige Ort zum Speichern von dateitypspezifischen Einstellungen lautet ~/.vim/after/ftplugin/<filetype>.vim
: Schreiben Sie Ihre Einstellungen also in:
~/.vim/after/ftplugin/sml.vim
Diese Datei wird von Vim nach dem Standard-ftplugin bereitgestellt, sodass Sie beispielsweise nur den Wert von ändern tabstop
und die anderen Einstellungen beibehalten können .
Betrachtet man jedoch meine eigene Vim-Laufzeit ( /usr/share/vim/vim73
), sieht es so aus, als gäbe es kein ftplugin für sml
. Dies bedeutet, dass ~/.vim/ftplugin/sml.vim
dies eine ebenso richtige Standortwahl wäre. Wählen Sie den aus, den Sie mögen.
Fügen Sie in dieser Datei einfach die Zeilen hinzu, die Sie benötigen:
setlocal tabstop=8 setlocal shiftwidth=8 setlocal expandtab
und du bist eingestellt.