Schreiben und Beenden sind in Vim getrennte Vorgänge. Bevor du einen Ex-Befehl eingibst, drückst du Esc, um in den Normalmodus zurückzukehren. Tippe dann :, gib den Befehl ein und drücke Enter. Lies Vims Status- oder Fehlermeldung, bevor du davon ausgehst, dass das Schreiben erfolgreich war.
Fortgeschrittenes Text-Fu · Lektion 8
In Vim speichern und Vim beenden
Lerne, wie du Änderungen in Vim schreibst, den Editor beendest, unter einem anderen Namen speicherst oder Änderungen bewusst verwirfst.
Den aktuellen Puffer schreiben
Mit :w schreibst du den aktuellen Puffer in die zugehörige Datei, ohne das Fenster zu schließen:
:w
Das Schreiben kann fehlschlagen, weil der Puffer keinen Dateinamen hat, das Verzeichnis nicht beschreibbar oder das Dateisystem voll ist oder eine andere Bedingung den Vorgang verhindert. Prüfe die von Vim ausgegebene Meldung.
Mit :w copy.txt schreibst du den aktuellen Puffer unter einen anderen Pfad, während der bisherige Name des aktuellen Puffers erhalten bleibt. Verwende :saveas copy.txt, wenn der Puffer den neuen Pfad übernehmen soll.
Welcher Vim-Befehl schreibt den aktuellen Puffer in die zugehörige Datei, ohne Vim zu beenden?
Einen unveränderten Puffer beenden
Mit :q schließt du das aktuelle Fenster, wenn dabei keine ungespeicherten Änderungen eines Puffers verloren gehen:
:q
Ist der aktuelle Puffer geändert und würden seine Änderungen verloren gehen, verweigert Vim das Beenden normalerweise und zeigt eine Warnung an. Dieser Schutz gibt dir Gelegenheit, die Änderungen zu schreiben oder deine Entscheidung zu überdenken.
Welcher Befehl schließt das aktuelle Vim-Fenster, wenn dabei keine ungespeicherten Änderungen verloren gehen?
Ungespeicherte Änderungen verwerfen
Verwende :q! nur, wenn du das aktuelle Fenster bewusst schließen und Änderungen aufgeben möchtest, die das Beenden sonst verhindern würden:
:q!
Das Ausrufezeichen setzt die Warnung wegen ungespeicherter Änderungen außer Kraft. Diese Änderungen am Puffer werden nicht geschrieben. Vergewissere dich deshalb vor dem Drücken von Enter, dass du sie wirklich nicht mehr brauchst.
Der aktuelle Puffer enthält Änderungen, die du bewusst nicht speichern möchtest. Welcher Befehl schließt das aktuelle Fenster und verwirft sie?
Schreiben und Beenden verbinden
Verwende :wq, wenn der Puffer geschrieben und das aktuelle Fenster nach erfolgreichem Schreiben geschlossen werden soll:
:wq
Schlägt das Schreiben fehl, führt Vim das angeforderte Beenden nicht aus. Behebe den Fehler, statt anzunehmen, dass die Daten auf dem Datenträger angekommen sind.
Welcher Befehl schreibt den aktuellen Puffer und schließt anschließend das aktuelle Fenster, sofern das Schreiben erfolgreich ist?
:x und ZZ verwenden
:x schreibt den Puffer nur, wenn er geändert wurde, und beendet Vim anschließend. Im Normalmodus bewirkt das großgeschriebene ZZ dasselbe:
:x
ZZ
Das unterscheidet sich geringfügig von :wq, das auch bei einem unveränderten Puffer einen Schreibvorgang anfordert. Das großgeschriebene ZQ ist im Normalmodus das Gegenstück für das Beenden ohne Schreiben, ähnlich wie :q!.
Welcher Befehl des Normalmodus schreibt nur bei einem geänderten Puffer und beendet Vim anschließend?
Sind mehrere Fenster oder Puffer beteiligt, schließt ein Befehl möglicherweise nur das aktuelle Fenster. Befehle wie :qa, :wqa und :qa! wirken über mehrere Fenster hinweg. Prüfe jedoch jeden geänderten Puffer, bevor du einen erzwungenen Befehl für alle Fenster verwendest.
Mit diesem praktischen Lab kannst du das Schreiben und Beenden an einer entbehrlichen Datei üben:
- Textdateien unter Linux mit Vim und Nano bearbeiten – Übe, Dateien anzulegen, Text zu bearbeiten und zu speichern sowie mit Vim und Nano zu navigieren. Das Lab festigt dein Verständnis grundlegender Vim-Abläufe einschließlich des Speicherns und Beendens.
Lektion abgeschlossen
Sie haben In Vim speichern und Vim beenden abgeschlossen
Du kannst nun den Vim-Befehl zum Beenden passend zu deinen ungespeicherten Daten auswählen.
Schreibe mit
:w, ohne Vim zu beenden.Beende Vim sicher mit
:q, wenn keine Änderungen verloren gehen.Verwirf Änderungen bewusst mit
:q!.Schreibe und beende mit
:wq.Verwende
:xoderZZ, um nur bei Änderungen zu schreiben.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen