In den meisten Fällen möchte ich tabstop=4
verwenden beim Bearbeiten von Dateien. Aber für einige Dateitypen, wie XML-Dateien, möchte ich tabstop=2
verwenden .
Ich habe hinzugefügt
au filetypedetect FileType xml,html,xhtml,javascript set tabstop=2 softtabstop=2 shiftwidth=2
in meiner .vimrc
Datei. Es funktioniert, wenn ich nur eine Datei bearbeite. Aber wenn ich mehrere Dateien bearbeite, kann es die Tabstopps nicht für alle Puffer richtig setzen. Es scheint, dass der Dateityp nur beim Start erkannt und eingestellt wird und sich seitdem nie mehr ändert.
Ich möchte den FileType
jedes Mal einstellen, wenn ich den Puffer umschalte. Wie kann ich das tun?
Akzeptierte Antwort:
Ich bin mir nicht sicher, warum Ihre Version nicht funktioniert, aber ich kann dies mit dem call
tun Option und setzen Sie die Einstellungen in eine Funktion wie diese:
set tabstop=4
set softtabstop=4
set shiftwidth=4
function! setAltPrefs()
set tabstop=2
set softtabstop=2
set shiftwidth=2
endfunction
autocmd FileType xml,html,xhtml,javascript call setAltPrefs()
Dies sollte jedes Mal ausgelöst werden, wenn eine Datei in einen Puffer geladen wird oder sich der Dateityp ändert. Der einzige Haken wäre, wenn Sie einen Puffer von einem der benutzerdefinierten Typen zurück in einen ändern, der nur Standardwerte sein sollte. In diesem Fall ändert sich nichts. Sie müssten eine andere Funktion einrichten, um auf alle Dateitypen auszulösen, wenn Sie diesen Anwendungsfall abdecken müssen.