Vi

Aus
Version vom 19. August 2008, 18:08 Uhr von Itari (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Der Bildschirmeditor vi ('''vi'''sual editor) ist ein interaktiver Editor für die Erstellung und Modifikation von Textdateien. == Funktionsweise == Der vi legt eine Ko...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Der Bildschirmeditor vi (visual editor) ist ein interaktiver Editor für die Erstellung und Modifikation von Textdateien.

Funktionsweise

Der vi legt eine Kopie der zu editierenden Datei in einem Speicherpuffer ab. Auf dem Bildschirm wird ein Ausschnitt (Fenster) des Puffers dargestellt. Das Fenster kann beliebig verschoben werden. Alle Editierkommandos werden nur auf den Pufferinhalt angewendet. Die Orginaldatei wird erst verändert, wenn man den Puffer zurückschreibt. Der Editiervorgang kann auch abgebrochen werden, ohne dass die Orginaldatei verändert wird. Wie alle bildschirmorientierten Editoren ist vi vom Terminaltyp und dessen Fähigkeiten abhängig. Er benutzt eine interne Datenbasis (terminfo), in der eine Beschreibung aller verfügbaren Terminals abgelegt sein sollte. Über die Shell-Variable TERM greift der Editor auf diese Datenbasis zu. Fehlt die Datenbasis, wird ein Standard-Bildschirmtyp angenommen.

Kommando-Modi

Der vi arbeitet in drei verschiedenen Modi: - direkter Kommando-Modus: jeder Eingabe wird sofort interpretiert - Zeilen-Kommando-Modus: <ESC>: (Taste Esc und ein Doppelpunkt) - der Cursor springt in die unterste Zeile und wartet auf weitere Kommando-Eingaben - Text-Eingabe-Modus: aus dem direkten Kommando-Modus über die Eingabe a,A,c,C,i,I,o,O,r,R kommt man in den Text-Eingabe-Modus. Um wieder zurück in den direkten Kommando-Modus zu gelangen, muss man die Taste <ESC> drücken

Aufruf und Beenden

Der Aufruf erfolgt mit: vi [datei] Bei Angabe von datei wird diese in den Speicherpuffer kopiert. Das Editorfenster wird auf den Anfang der Datei gesetzt. Der vi befindet sich im direkten Kommando-Modus und wartet auf die Eingabe von Anweisungen. Der Inhalt des Speicherpuffers kann jetzt geändert , gelöscht oder neuer Text hinzugefügt werden. Die eigentliche Datei wird erst mit dem Zurückschreiben des Puffers durch die Anweisung <ESC>:w modifiziert (Alternativ: ZZ). Wird kein Dateiname angegeben oder fehlt die Datei auf dem Speichermedium, wird ein leerer Puffer angelegt.