Einführung
Zu wissen, wie man etwas wiederholt, ist eine grundlegende Fähigkeit, die jeder Vim/Vi-Benutzer haben sollte. Unabhängig vom Texteditor ist die Möglichkeit, Änderungen rückgängig zu machen und wiederherzustellen, ein wesentliches Merkmal.
In diesem Tutorial erfahren Sie anhand von Befehlsbeispielen, wie Sie in Vim / Vi Rückgängig machen und Wiederherstellen können.

Wie man Änderungen in Vim / Vi rückgängig macht
Vim macht Änderungen durch Einträge rückgängig . Ein Eintrag kann alles sein, was Sie innerhalb einer Sitzung im Einfügemodus tun. Alle Änderungen, die nach dem Drücken von i
vorgenommen wurden (um in den Einfügemodus zu wechseln) und Esc
(um zum normalen Modus zurückzukehren) werden als ein Eintrag betrachtet.
Ein Eintrag kann auch ein Befehl sein, den Sie verwenden, nachdem Sie Esc
gedrückt haben . Dazu gehören Befehle wie das Löschen von Zeilen und das Kopieren und Einfügen von Text in Vim.
Im Allgemeinen wird jedes Mal, wenn Sie von einem Modus in einen anderen wechseln, ein neuer Eintrag erstellt.
Letzte Änderung rückgängig machen
1. Wechseln Sie zunächst in den Normalmodus, indem Sie Esc
drücken .
2. Machen Sie dann die im letzten Eintrag vorgenommenen Änderungen mit einem der folgenden Befehle rückgängig:u
, :u
, :undo
.
3. Alle Änderungen und Ergänzungen des vorherigen Eintrags werden entfernt.
In der Datei, die Sie unten sehen, repräsentiert beispielsweise jede Zeile eine separate Entität. Durch Ausführen von :undo
Befehl wird die letzte Zeile im Text entfernt.

Sobald Sie Enter drücken , wird die letzte Zeile entfernt und die Ausgabe teilt Ihnen mit, dass 1 line less
vorhanden ist .

Mehrere Änderungen rückgängig machen
1. Drücken Sie Esc
um sicherzustellen, dass Sie sich im normalen (Befehls-)Modus befinden, bevor Sie irgendwelche Vim-Befehle ausführen.
2. Für mehrere Rückgängigmachungen auf einmal müssen Sie die Anzahl der Änderungen angeben, die Sie in der Datei rückgängig machen möchten. Dies geschieht durch Hinzufügen der Zahl vor dem u
Befehl nach der Syntax:[number]u
.
Zur Veranschaulichung haben wir in unserer Beispiel-Vim-Datei den Befehl ausgeführt:
4u
Da jede Zeile als einzelne Entität hinzugefügt wurde, 4u
macht die letzten 4 Zeilen im Text rückgängig.

Die Ausgabe sollte anzeigen, dass 4 fewer lines
vorhanden sind .
Letzte Änderungen in Zeile rückgängig machen
1. Wechseln Sie mit Esc
in den Befehlsmodus .
2. Machen Sie die letzten Änderungen innerhalb einer Zeile mit dem Befehl U
rückgängig . Stellen Sie sicher, dass es großgeschrieben wird .
In unserem Beispiel macht der Befehl die Änderungen rückgängig, die in der letzten Zeile vorgenommen wurden, in der der letzte Satz in einem nachfolgenden Eintrag hinzugefügt wurde.

Änderungen in Vim / Vi wiederholen
1. Um in Vim zu wiederholen, müssen Sie sich im normalen Modus befinden (drücken Sie Esc
).
2. Jetzt können Sie zuvor rückgängig gemachte Änderungen wiederherstellen – halten Sie Ctrl
gedrückt und drücken Sie r
.
Vim stellt den letzten rückgängig gemachten Eintrag wieder her.
Mehrere Änderungen wiederholen
1. Kehren Sie mit Esc
in den Befehlsmodus zurück .
2. Wiederholen Sie mehrere Rückgängigmachungen mit einem einzigen Befehl unter Verwendung der folgenden Syntax:[number]Ctrl+r
. Sie müssen die Nummer schreiben der Wiederholungen, die Sie ausführen möchten, halten Sie Ctrl
gedrückt und geben Sie r
ein .
Rückgängig machen-Zweige auflisten
Während Sie in Vim / Vi an einer Datei arbeiten, werden Sie höchstwahrscheinlich eine Änderung rückgängig machen und dann überschreiben es durch Hinzufügen neuer Änderungen. Diese rückgängig gemachte Änderung verschwindet nicht vollständig. Tatsächlich wird es zu einem Zweig, den Sie später finden und auf den Sie zugreifen können.
Um rückgängig gemachte Verzweigungen anzuzeigen, führen Sie den folgenden Befehl aus:
:undolist
Die Ausgabe, die Sie erhalten, sollte unserem Beispiel ähneln:

Es besteht aus vier Spalten:
- Nummer. Die Änderungsnummer.
- Änderungen. Die Anzahl der an der Entität vorgenommenen Änderungen.
- Wann. Der Zeitpunkt, zu dem die Änderung vorgenommen wurde.
- Gespeichert. Ob die Datei auf der Festplatte gespeichert wurde und wo.