GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verwende ich den Dateityp in Vim?

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.


Linux
  1. Wie verwende ich chmod, um die Dateiberechtigung zu ändern?

  2. wie man pylint in vim verwendet

  3. Wie richte ich curl ein, um dauerhaft einen Proxy zu verwenden?

  4. Wie setze ich eine Datei als NICHT ausführbar?

  5. So öffnen Sie eine Datei in vim mit Pipe

So verwenden Sie einen Dateibefehl unter Linux

Wie man Ansible verwendet, um Vim zu konfigurieren

So verwenden Sie den Befehl lsof unter Linux

Wie verwende ich gzip unter Linux?

So verwenden Sie Sets in Python

So verwenden Sie den Linux-Befehl shred