Vi: Unterschied zwischen den Versionen

Aus
(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...)
 
Keine Bearbeitungszusammenfassung
Zeile 12: Zeile 12:
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).
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.
Wird kein Dateiname angegeben oder fehlt die Datei auf dem Speichermedium, wird ein leerer Puffer angelegt.
Folgende weitere Kommandos in diesem Zusammenhang sind:
:w ''datei''  - (write) schreibt den Puffer in die Datei namens ''datei''
:wq ''datei''  - (write & quit) schreibt den Puffer in die Datei namens ''datei'' und beendet den Editoraufruf (statt wq kann man auch x verwenden)
:q!        - (quit strong) beendet den Editor ohne Zurückschreiben
== Bewegen des Cursors und Verschieben des Fensters ==
Der Cursor kann mit den Cursor-Tasten (alternativ k,j,h,l) im Editorfenster bewegt werden. Stößt der an den Rand des Fensters wird das Fenster entsprechend verschoben. Es ist nicht möglich, den Cursor über den Anfang oder das Ende einer Zeile bzw. der Datei hinauszuschieben.
Weitere Bewegungskommandos:
w      - (word) wortweises Bewegen, positioniert auf den Anfang des nächsten Wortes
b      - (backward) positioniert auf den Anfang des vorhergehenden Wortes
''n''G      - (go) zeilenweises Positionieren, springt auf den Anfang der ''n''-ten Zeile

Version vom 19. August 2008, 18:20 Uhr

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. Folgende weitere Kommandos in diesem Zusammenhang sind:

:w datei   - (write) schreibt den Puffer in die Datei namens datei
:wq datei  - (write & quit) schreibt den Puffer in die Datei namens datei und beendet den Editoraufruf (statt wq kann man auch x verwenden)
:q!        - (quit strong) beendet den Editor ohne Zurückschreiben

Bewegen des Cursors und Verschieben des Fensters

Der Cursor kann mit den Cursor-Tasten (alternativ k,j,h,l) im Editorfenster bewegt werden. Stößt der an den Rand des Fensters wird das Fenster entsprechend verschoben. Es ist nicht möglich, den Cursor über den Anfang oder das Ende einer Zeile bzw. der Datei hinauszuschieben. Weitere Bewegungskommandos:

w       - (word) wortweises Bewegen, positioniert auf den Anfang des nächsten Wortes
b       - (backward) positioniert auf den Anfang des vorhergehenden Wortes
nG      - (go) zeilenweises Positionieren, springt auf den Anfang der n-ten Zeile