[Next] [Previous] [Top]
UNIX-Lehrtext
Anhang: Vi Referenz-Karte
- 1. Masseinheiten
-
- 2. Starten und Verlassen von vi
-
- 3. Bewegen
-
- 4. Einfügen von Text
-
- 5. Löschen
-
- 6. Aendern
-
- 7. Suchen nach Ausdrücken
-
- 8. Ersetzen von Ausdrücken
-
- 9. Merken von Text
-
- 10. Wiedereinfügen von Text
-
- 11. Markieren
-
- 12. Shell-Befehle
-
- 13. Verschiedene Kommandos
-
1. Masseinheiten
Kommandos im Kommandomodus sind oft mit Masseinheiten verbunden, die angeben, in welchem Bereich das Kommando wirksam sein soll. Hier erläutern wir die verschiedenen Begriffe für Masseiheiten in vi.
- Buchstabe
- jeder Buchstabe einschliesslich Leerzeichen, TAB, Satzzeichen und Kontrollzeichen
- Wort
- mehrere Buchstaben, die an beiden Seiten durch ein oder mehrere Satzzeichen, Leerzeichen, TABs, Ziffern oder Zeilenumbrüche begrenzt werden. Eine Gruppe von Satzzeichen ist ein Wort.
- leer begrenztes Wort
-
im Unterschied zum Wort gehören angrenzende Satzzeichen zum leer begrenzten Wort dazu, d.h. es wird durch sogenannten Leerraum (Whitespace), also Leerzeichen, TAB oder Zeilenumbrüche, begrenzt.
- Zeile
- Ansammlung von Zeichen, die durch einen Zeilenumbruch begrenzt werden. Eine logische Zeile ist nicht unbedingt mit einer Zeile am Bildschirm identisch. Wurde am Zeilenende kein RETURN eingegeben, so setzt vi die logische Zeile fort. Manche Konfigurationen von vi trennen logische Zeilen automatisch in Bildschirmzeilen.
- Satz
- eine Ansammlung von Zeichen, die durch einen Punkt oder ein Ausrufezeichen gefolgt von zwei (!) Leerzeichen oder einem Zeilenumbruch begrenzt wird.
- Absatz
- Ansammlung von Zeichen, der mindestens eine Leerzeile folgt.
Wird vor einer Masseinheit eine Zahl angegeben, so wird diese Zahl als Wiederholungsfaktor für die Masseinheit interpretiert.
2. Starten und Verlassen von vi
- vi
- startet vi ohne eine zu editierende Datei
- vi filename
- editiere die Datei filename
- vi -r filename
- restauriere die Datei filename nach einem Systemabsturz
- :wq
- Abspeichern der Aenderungen und Verlassen von vi
- ZZ
- Abspeichern der Aenderungen und Verlassen von vi
- :q!
- Wegwerfen der Aenderungen und Verlassen von vi
3. Bewegen
Denken Sie daran, dass Sie sich im Kommandomodus befinden müssen, um den Cursor mithilfe der folgenden Kommandos bewegen zu können. Diese Kommandos legen auch Masseinheiten fest, die zusammen mit anderen Kommandos verwendet werden können. Jedes Kommando kann durch Voranstellen einer Zahl mehrfach ausgeführt werden.
Beachten Sie, dass sich die Tasten h, j, k, l, die in vi die Bedeutung von Cursortasten haben, direkt unter Ihren Fingern befinden.
- h
- ein Buchstabe nach links
- j
- eine Zeile nach unten
- SPACE, l
- ein Buchstabe nach rechts
- k
- eine Zeile nach oben
- w
- ein Wort nach rechts
- W
- ein leer begrenztes Wort nach rechts
- b
- Wort nach links
- B
- leer begrenztes Wort nach links
- e
- Ende des Wortes rechts
- E
- Ende des leer begrenzten Wortes rechts
- 0
- Zeilenanfang (kann nicht mit einem Wiederholungsfaktor versehen werden)
- RETURN
- Anfang der nächsten Zeile
- -
- Anfang der vorhergehenden Zeile
- $
- Zeilenende
- (
- Satzanfang
- )
- Satzende
- {
- Absatzanfang
- }
- Absatzende
- nG
- zu Zeile n (ohne n zur letzten Zeile)
- H
- zum Bildschirm-Beginn
- M
- zur Bildschirm-Mitte
- L
- zum Bildschirm-Ende
Die nächsten Kommandos bewegen den Cursor um grössere Strecken. Diese Kommandos können nicht als Masseinheiten verwendet werden. Zur Erinnerung: "C-x" bedeutet, dass die Ctrl-Taste gleichzeitig mit der Taste x gedrückt werden muss.
- C-d
- eine halbe Bildschirmseite nach unten
- C-u
- eine halbe Bildschirmseite nach oben
- C-f
- eine Bildschirmseite vorblättern
- C-b
- eine Bildschirmseite zurückblättern
4. Einfügen von Text
Mit den folgenden Kommandos bleibt man solange im Eingabemodus, bis durch Tippen von ESC in den Kommandomodus gewechselt wird.
Folgende Kommandos fügen Text ein:
- i
- vor dem Cursor
- I
- vor dem ersten nichtleeren Zeichen der Zeile
- a
- an der aktuellen Cursorposition
- A
- am Ende der Zeile
- o
- öffne Zeile unterhalb der aktuellen Zeile
- O
- öffne Zeile oberhalb der aktuellen Zeile
5. Löschen
In diesem und den folgenden Abschnitten steht M für eine Masseinheit (siehe 1. Kapitel, Seite 64), der ein Wiederholungsfaktor n vorausgehen kann. Beachten Sie, dass d gefolgt von RETURN zwei Zeilen löscht, nämlich die aktuelle Zeile sowie die folgende. Um nur die aktuelle Zeile zu löschen, verwende man dd.
- nx
- lösche n Buchstaben beginnend beim aktuellen
- nX
- lösche n Buchstaben vor dem aktuellen
- dM
- lösche den durch M bezeichneten Text
- ndd
- lösche n Zeilen
- D
- lösche bis zum Zeilenende
Beispiele:
- d0
- lösche bis zum Zeilenanfang
- dW
- lösche bis zum Ende des leer begrenzten Wortes
- 5dd
- lösche 5 Zeilen beginnend mit der aktuellen
- dG
- lösche bis zum Ende der Datei
- d1G
- lösche bis zum Anfang der Datei
6. Aendern
Bei Eingabe der ersten vier Kommandos der folgenden Liste erscheint am Ende der angegebenen Masseinheit ein $-Zeichen. Alles vom Cursor bis zu diesem $ wird durch Ihre Eingabe ersetzt, bis Sie ESC tippen, um in den Kommandomodus zurückzukehren. Falls Sie bei der Eingabe über das $-Zeichen hinaus tippen, so wird vi diese Zeichen einfügen und somit den Text nach dem $-Zeichen nicht mehr überschreiben.
- ns
- ersetze n Buchstaben
- cM
- ändere durch M spezifizierten Text
- ncc
- ändere n Zeilen
- C
- ändere bis zum Ende der Zeile
- nrc
- ersetze n Buchstaben durch den einzelnen Buchstaben c
(kehrt in Kommandomodus zurück)
- R
- ersetze (überschreibe) Text, bis ESC getippt wird
7. Suchen nach Ausdrücken
Im folgenden ist regexp ein regulärer Ausdruck (siehe Anhang hinten, Seite 70), der eine einfache Buchstabenreihe sein kann.
- /regex RETURN
- vorwärts nach regex suchen
- ?regex RETURN
- rückwärts nach regex suchen
- n
- wiederhole ursprüngliche Suche in derselben Richtung
- N
- wiederhole ursprüngliche Suche in entgegengesetzter Richtung
- /RETURN
- wiederhole ursprüngliche Suche vorwärts
- ?RETURN
- wiederhole ursprüngliche Suche rückwärts
8. Ersetzen von Ausdrücken
Ein Ersetzungskommando hat folgende Syntax:
:[Adresse]s/Such-Ausdruck/Ersetzungs-Ausdruck/g
- Adresse
- besteht aus zwei Zeilennummern, die durch ein Komma getrennt sind. Die Zeilennummern können durch einen Punkt für die aktuelle Zeile, ein $ für die letzte Zeile oder durch eine Marke (siehe Abschnitt 11, Seite 68) ersetzt werden.
- Ersetzungs-Ausdruck
ein regulärer Ausdruck, der eine einfache Buchstabenreihe sein kann -
- g
- steht für globales Ersetzen; ohne das g wird nur die erste mögliche Ersetzung in jeder Zeile durchgeführt.
9. Merken von Text
In vi steht "yank" für "merken, aber nicht löschen" (also ganz anders als im Emacs, wo "yank" für die Wiedergabe einer gekillten Sequenz steht!). Wir verwenden hier einfach den Ausdruck "merken". Derartig gemerkter Text kann irgendwo anders in der Datei wiedereingesetzt werden. Um gemerkten Text für spätere Zwecke aufzubewahren, kann man einen benannten Puffer verwenden. Dazu wird dem Merk-Kommando einfach ein "x vorangestellt, wobei x der Puffername (ein Buchstabe von a bis z) ist.
- yM
- merke durch M angegebenen Text
- nyy
- merke n Zeilen
- Y
- merke bis zum Zeilenende
10. Wiedereinfügen von Text
Nachdem Text gelöscht oder gemerkt wurde, kann er in der Datei wieder eingefügt werden ("put"). Falls kein Puffer als Zwischenspeicher angegeben wurde, so dürfen zwischen dem Löschen bzw. Merken und dem Wiedereinfügen nur Cursorbewegungen stattfinden. Um Text aus dem Puffer x wieder einzufügen, wird dem Kommando "x vorangestellt.
- P
- Wiedereinfügen des Textes vor dem Cursor
- p
- Wiedereinfügen des Textes nach dem Cursor
11. Markieren
- mx
- setze Marke x, wobei x ein Buchstabe von a bis z ist
- 'x
- gehe mit dem Cursor an den Anfang der Zeile mit Marke x
- `x
- gehe mit dem Cursor zur Marke x
- ''
- gehe mit dem Cursor zur vorigen Position
12. Shell-Befehle
- :sh
- starte eine Subshell; in den Editor zurück kommt man mit C-d oder exit
- :!Kommando
- starte Shell und führe Kommando aus
- !!Kommando
- starte Shell, führe Kommando aus und ersetze die aktuelle Zeile der editierten Datei mit der Ausgabe von Kommando
- :r!Kommando
- füge die Ausgabe von Kommando an der aktuellen Cursorpostion der editierten Datei ein
13. Verschiedene Kommandos
- u
- mache letzte Aenderung rückgängig; funktioniert aber nur einmal
- J
- verbinde die aktuelle mit der folgenden Zeile
- .
- wiederhole das letzte verändernde Kommando
- :w Datei
- schreibe Aenderungen nach Datei (die aktuelle Datei, falls keine Datei abgegeben wurde)
- :e Datei
- editiere Datei; erst mit :w die Aenderungen am aktuellen File abspeichern, bevor das neue eingelesen wird!
- :f
- zeige Name und Status des aktuellen Files an
- :r Datei
- füge Datei an der aktuellen Cursorposition ein
- C-g
- zeige Dateiname, aktuelle Zeilennummer, Gesamtzeilenzahl und den Prozentsatz der Datei, der sich vor dem Cursor befindet
- C-v
- füge nächsten Buchstaben "wörtlich" ein. Das wird im Eingabemodus zur Eingabe von Kontrollzeichen u.ä. verwendet
- ~
- ändere Klein- zu Grossschreibung und umgekehrt
UNIX-Lehrtext - 23 SEP 94
[Next] [Previous] [Top]
Generated with WebMaker