Solaris Handbuch für Fortgeschrittene Benutzer

6.3 Arbeitssitzungen beenden

Bei der Bearbeitung einer Datei mit vi werden die Änderungen nicht direkt in die Datei geschrieben, sondern in eine von vi erzeugte Kopie, die sich in einem temporären Speicherbereich, dem Dateipuffer, befindet. Wenn Sie den Inhalt des Puffers speichern, wird er in die auf der Platte gespeicherte Datei übernommen.

Dieses Verfahren hat Vor- und Nachteile. Einerseits können Sie die Bearbeitung einer Datei jederzeit abbrechen, ohne die Kopie auf der Festplatte zu ändern, andererseits geht der ungesicherte Inhalt des Puffers bei einem Systemabsturz verloren. (Von solchen unvorhergesehenen Unterbrechungen sind vor allem Benutzer entfernter Terminals betroffen, die über Telefonleitungen mit dem Server verbunden sind.)

Am besten schützen Sie sich vor Datenverlusten, wenn Sie Ihre Arbeit regelmäßig, zumindest aber jedesmal nach einer größeren Änderung sichern.


Achtung - Achtung -

GraphicSie können eine Datei im Prinzip in mehreren, gleichzeitig ablaufenden vi-Sitzungen bearbeiten. Weil Sie dabei aber häufig nicht mehr eindeutig nachvollziehen können, welche Änderungen bereits in die Datei geschrieben bzw. von anderen Sitzungen überschrieben wurden, ist dieses Verfahren nicht zu empfehlen.


6.3.1 Änderungen speichern und vi beenden

vi verfügt über eine Vielzahl von Befehlen zum Speichern des Pufferinhalts und zum Verlassen des Editors, die nur geringfügig voneinander abweichen. Grundsätzlich unterscheidet man zwischen Speichern, Speichern und Beenden und Beenden ohne Speichern.

6.3.1.1 Speichern

Um den Inhalt des Puffers in die Datei auf der Platte zu schreiben, geben Sie folgenden Befehl ein:

:w

Da der Befehl mit einem Doppelpunkt beginnt, müssen Sie zum Abschluß Return" drücken.

6.3.1.2 Speichern und Beenden

Mit folgendem Befehl speichern Sie den Inhalt des Puffers und beenden vi:

:wq

Sie können statt dessen auch ZZ eingeben. In diesem Fall schließen Sie die Eingabe nicht mit Return" ab.

6.3.1.3 Beenden ohne Speichern

Wenn Sie die Datei nicht geändert haben und den Editor verlassen wollen, geben Sie folgenden Befehl ein:

:q

Auch hier müssen Sie die Eingabe mit Return" abschließen. Wenn Sie Änderungen vorgenommen haben, erscheint die Meldung Kein Schreibvorgang seit letzter Änderung (:quit! setzt außer Kraft), und vi wird nicht beendet.

Sollen vorhandene Änderungen nicht übernommen werden, geben Sie folgenden Befehl ein

:q!

und drücken anschließend Return".