Und danach automatisch neu einrücken? Ich habe versucht, Code von einem Terminalbildschirm auf den anderen zu kopieren, aber die Tabelle ist völlig durcheinander.
Ich wusste nicht, wie ich diese Funktionalität nennen sollte, daher war es für mich schwierig, sie auf Google zu finden (was im Allgemeinen Dinge im Zusammenhang mit der Einstellung der Tab-Größe zurückgab, nach denen ich leider nicht gesucht hatte).
Antworten:
Vim verfügt über einen
retab
Befehl, mit dem Sie Ihr Dokument tabellieren oder aufheben können. Es werden Einstellungen wietabstop
und verwendetexpandtab
. Wenn Sie also Tabulatoren durch Leerzeichen ersetzen möchten, können Sie Folgendes tun:Siehe die
retab
Ausführliche Informationen finden Dokumentation.Vorbehalt Emptor : Ersetzt auch Registerkarten, die NICHT am Anfang einer Zeile stehen. Wenn Sie also harte Tabulatoren in der Mitte von Zeichenfolgen verwenden, werden diese ebenfalls ersetzt.
quelle
\t
bevorzugt, nur um solche Probleme zu vermeiden.Um die Antwort von @ Kaleb zu erweitern (ich habe noch keinen Repräsentanten zum Kommentieren), müssen Sie vor dem Ausführen des Befehls retab Folgendes ausführen
:set expandtab (set et)
. Andernfalls ersetzt das Retab keine Tabulatoren durch Leerzeichen.Zusätzlich möchten Sie möglicherweise die Tabstops angeben. In Quellcode, der von anderen erstellt wurde, wird der Code häufig mit Tabstops auf 4 oder sogar 2
:%retab
geschrieben. Experimentieren Sie vor dem Ausführen des Befehls mit verschiedenen Tabstops. Versuchenum zu sehen, welche Einstellung am sinnvollsten ist.
Um rückwärts zu gehen (Leerzeichen durch entsprechende TAB-Zeichen ersetzen), verwenden Sie
quelle
Wollen Sie mit "Tab deaktivieren" Tabulatoren in Leerzeichen ändern? Wenn ja, ersetzen Sie Tabulatoren im gesamten Puffer wie folgt durch Leerzeichen:
Das sind vier Leerzeichen auf der rechten Seite der Ersetzung, aber Sie können jede gewünschte Zahl eingeben. Um das wörtliche
^I
Tabulatorzeichen zu erhalten, können Sie^V
drücken, gefolgt von der Tabulatortaste.Sie können mit dem
=
Befehl erneut einrücken . Verwenden Sie die folgenden Befehle, um den gesamten Inhalt des Puffers erneut einzurücken:Dadurch gelangen Sie nach oben und rücken alles wieder nach unten ein.
quelle