| Aufruf | Bedeutung |
|
Aufrufen des Editors
|
vi[CR]
|
Der Editor wird ohne Dateinamen gestartet, d.h. der Inhalt des Puffers ist
keinem festen Dateinamen zugeordnet. Das kann später (mit dem Befehl
:w) gemacht werden.
|
vi +n Datei[CR]
|
Der Inhalt der Datei Datei wird ab
Zeile n zur Bearbeitung auf dem
Bildschirm gezeigt.
|
vi + Datei[CR]
|
Der Editor positioniert den Cursor am Ende der Datei
Datei.
|
vi +/text Datei[CR]
|
Der Editor setzt den Cursor auf das erste Zeichen in der Zeile, in dem der
String text zum ersten Mal in der
Datei Dateivorkommt.
|
|
Verlassen des Editors
|
:wq[CR]
|
(Write and Quit - Schreiben und Beenden) Der aktuelle Bearbeitungsstand der
Datei wird abgespeichert und der Editor verlassen.
|
:x[CR]
|
(Exit - Verlassen) Der aktuelle Bearbeitungsstand der
Datei wird abgespeichert und der Editor verlassen.
|
:q[CR]
|
(Quit - Beenden) Der Pufferinhalt wird nicht in eine Datei übernommen.
Wenn Änderungen gemacht wurden und dieser Befehl gewählt wurde, erscheint
eine Fehlermeldung, da in diesem Fall ein Verlassen des Editors aus
Sicherheitsgründen nicht möglich ist. Abhilfe schafft der folgende Befehl.
|
:q![CR]
|
(Quit! - Beenden!) Der Pufferinhalt wird nicht in eine Datei übernommen.
Der Editor wird auf jeden Fall (selbst bei noch nicht gespeicherten Änderungen
im Text) verlassen.
|
|
Text laden
|
:e Datei[CR]
|
(Edit - Bearbeiten) Aus der Editorsitzung heraus wird die Datei
Datei geladen. Es erscheint eine
Fehlermeldung, wenn ein bearbeiteter Text im Editor ist, der noch nicht
gespeichert wurde (Entweder mittels :w speichern, oder den folgenden
Befehl verwenden).
|
:e! Datei[CR]
|
(Edit! - Bearbeiten!) Aus der Editorsitzung heraus wird die Datei
Datei geladen, auch wenn der aktuell
bearbeitetet Text noch nicht gespeichert wurde.
|
:e![CR]
|
(Edit! - Bearbeiten!) Das Original der aktuellen Datei wird erneut in den
Arbeitsspeicher geladen und alle in der bisherigen Sitzung gemachten
Änderungen gehen verloren.
|
:e#[CR]
|
Es wird die Datei geladen, die zuletzt vor der aktuellen in der jetzigen
Editorsitzung bearbeitet wurde.
|
:e +n Datei[CR]
|
Die Datei Datei wird geladen und
der Cursor auf das erste Zeichen der n-ten
Zeile gesetzt.
|
:e + Datei[CR]
|
Die Datei Datei wird geladen und
der Cursor an deren Ende positioniert.
|
:e +/text Datei[CR]
|
Die Datei Datei wird geladen und
der Cursor auf das erste Zeichen der Zeile gesetzt, in dem der String
text zum ersten Mal vorkommt.
|
:n[CR]
|
(Next - Nächste Datei) Es wird die nächste Datei geladen, die beim Aufruf des
Editors in der Kommandozeile angegeben wurde. Falls die aktuell bearbeitete
Datei verändert, aber nicht abgespeichert wurde (:w), erscheint
eine entsprechende Fehlermeldung.
|
:n![CR]
|
(Next! - Nächste Datei!) Es wird die nächste Datei geladen, die beim Aufruf
des Editors in der Kommandozeile angegeben wurde. Diese wird ohne weitere
Kontrolle (keine Fehlermeldung) in den Arbeitsspeicher geladen, der aktuelle
Editor-Inhalt geht veloren.
|
:r Datei[CR]
|
Der Inhalt der Datei Datei wird
unterhalb der aktuellen Zeile eingefügt.
|
|
Text speichern
|
:w[CR]
|
(Write - Schreiben) Der aktuelle Bearbeitungsstand des Textes wird abgespeichert.
|
:w Datei[CR]
|
(Write - Schreiben) Der Text wird nicht in die Originaldatei, sondern in
Datei abgespeichert. Existiert
Datei bereits, wird mit einer Fehlermeldung
abgebrochen.
|
:w! Datei[CR]
|
(Write! - Schreiben!) Der Text wird nicht in die Originaldatei, sondern in
Datei abgespeichert, jedoch wird nicht
überprüft ob bereits eine Datei mit Namen Datei
existiert, ist das der Fall, geht deren Inhalt verloren.
|
:w > Datei[CR]
|
(Write - Schreiben) Der Text wird in die Datei
Datei abgespeichert.
|
:w >> Datei[CR]
|
(Write - Schreiben) Der Text wird hinten an die Datei
Datei angehängt.
|
|
Cursor positionieren
|
|
mit
|
wohin
|
^
|
Erstes Zeichen der aktuellen Zeile
|
0
|
Erste Spalte der aktuellen Zeile (Bem: die Taste ist "Null", nicht "grosses O")
|
$
|
Letzte Spalte der aktuellen Zeile
|
h
|
Ein Zeichen nach links
|
nh
|
n Zeichen nach links
|
|
[BS]
|
Backspace (wie h)
|
|
[Ctrl-H]
|
wie h
|
l
|
Ein Zeichen nach rechts
|
nl
|
n Zeichen nach rechts
|
|
[Space]
|
Ein Zeichen nach rechts
|
n[Space]
|
n Zeichen nach rechts
|
k
|
Wenn möglich, in der gleichen Spalte eine Zeile aufwärts
|
nk
|
Wenn möglich, in der gleichen Spalte n
Zeilen aufwärts
|
j
|
Wenn möglich, in der gleichen Spalte eine Zeile abwärts
|
nj
|
Wenn möglich, in der gleichen Spalte n
Zeilen abwärts
|
b
|
(Beginning - Anfang) Anfang des letzten Wortes
|
B
|
(Beginning - Anfang) Anfang des letzten Wortes, dessen Delimiter ein [Space]
ist. Delimiter sind die Zeichen direkt vor und hinter einem Wort.
|
e
|
Wortende vorwärts
|
E
|
Wortende vorwärts, dessen Delimiter ein [Space] ist. Delimiter sind
die Zeichen direkt vor und hinter einem Wort.
|
w
|
Anfang des nächsten Wortes
|
W
|
Anfang des nächsten Wortes, dessen Delimiter ein [Space]
ist. Delimiter sind die Zeichen direkt vor und hinter einem Wort.
|
nG
|
(Go - Gehe zu) Springe in die n-te
Zeile des Textes
|
G
|
(Go - Gehe zu) Letzte Zeile des Textes
|
+
|
Textanfang in der nächsten Zeile
|
-
|
Textanfang in der vorangegangenen Zeile
|
|
[CR]
|
Textanfang in der nächsten Zeile
|
H
|
(Home - Nach Hause) Linke obere Ecke des Bildschirms
|
nH
|
n-te Zeile des Bildschirms
|
M
|
(Middle - Mitte) Mittlere Zeile des Bildschirms
|
L
|
(Last - Letzte Zeile) Letzte Zeile des Bildschirms
|
nL
|
n-te Zeile über dem unteren
Bildschirmrand
|
n|
|
Bringt den Cursor in n-te Spalte
|
|
Text einfügen
|
|
Die folgenden Befehle wechseln aus dem Kommando-Modus in den Einfüge-Modus!!!
|
a
|
(Append - Anhängen) die Zeichen werden rechts der aktuellen Cursor-Position
eingefügt (= angehängt)
|
A
|
(Append - Anhängen) die Zeichen werden am Zeilenende der aktuellen Zeile
angehängt
|
$a
|
wie A
|
i
|
Die Zeichen werden links der aktuellen Cursor-Position eingefügt
|
I
|
Die Zeichen werden am Anfang der aktuellen Zeile eingefügt
|
o
|
Unterhalb der aktuellen Zeile wird eine neue eingefügt. Der Cursor wird in die
erste Spalte positioniert.
|
O
|
Oberhalb der aktuellen Zeile wird eine neue eingefügt. Der Cursor wird an den
Zeilenanfang gesetzt.
|
|
Text überschreiben
|
|
Die folgenden Befehle wechseln aus dem Kommando-Modus in den Einfüge- oder
Überschreibe-Modus!!!
|
cc
|
Die aktuelle Zeile wird komplett durch den folgenden Text ersetzt. Das
Ersetzungsende muss dem Editor mit [ESC] mitgeteilt werden.
|
ncc
|
Wie cc, jedoch werden n Zeilen statt
einer ersetzt. Das Ersetzungsende muss dem Editor mit [ESC] mitgeteilt
werden.
|
c$
|
Die Ersetzung reicht von der aktuellen Cursorposition bis zum Zeilenende, auch
wenn weniger Text eingegeben wird. Das Ersetzungsende muss dem Editor mit
[ESC] mitgeteilt werden.
|
cw
|
Die Ersetzung reicht von der aktuellen Cursorposition bis zum Wortende, auch
wenn weniger Text eingegeben wird. Das Ersetzungsende muss dem Editor mit
[ESC] mitgeteilt werden.
|
C
|
Die Ersetzung reicht von der aktuellen Cursorposition bis zum Zeilen, auch
wenn weniger Text eingegeben wird. Das Ersetzungsende muss dem Editor mit
[ESC] mitgeteilt werden.
|
r
|
Nach diesem Zeichen kann genau das Zeichen, auf dem der Cursor steht,
überschrieben werden. Danach schaltet der Editor automatisch in den
Kommando-Modus zurück.
|
R
|
Schaltet den permanenten Überschreibe-Modus ein. Ab der aktuellen
Cursorposition kann Text überschrieben werden. Ende mit [ESC].
|
s
|
Ersetzt das Zeichen unter dem Cursor durch den nachfolgend eingegebenen Text,
der durch [ESC] beendet wird.
|
ns
|
Wie s, jedoch werden die nächsten
n Zeichen durch den Text
überschrieben. Ende mit [ESC].
|
S
|
Der nachfolgend eingegebene Text ersetzt die aktuelle Zeile, d.h. nach Eingabe
vin [ESC] ist der alte Text gelöscht.
|
|
Suchen und Ersetzen
|
|
|
Als Sonderzeichen sind dabei anzusehen:
^
|
Steht in Begriff als Zeichen
für den Zeilenanfang
|
$
|
Steht in Begriff als Zeichen
für das Zeilenende
|
.
|
Steht in Begriff als Wild-Card
(= Platzhalter)
|
\\
|
Steht in Begriff als Zeichen
für \
|
\.
|
Steht in Begriff als Zeichen
für .
|
\<
|
Steht in Begriff als Zeichen
für <
|
\>
|
Steht in Begriff als Zeichen
für >
|
|
/Begriff
|
Nach diesem Kommando wird der Datei-Inhalt vorwärts nach dem angegebenen
Begriff Begriff durchsucht, wobei
nach dem Erreichen des Dateiendes die Suche am Anfang fortgesetzt wird, bis
die Datei einmal komplett untersucht worden ist.
War die Suche erfolglos, wird ein entsprechender Kommentar ausgegeben.
Sonderzeichen müssen im Suchbegriff durch ein vorangehendes \ als normale
Zeicehen deklariert werden.
|
?Begriff
|
Wie /Begriff, jedoch wird die Datei
rückwärts durchsucht.
|
/
|
Das letzte Kommando der Vorwärtssuche wird wiederholt.
|
?
|
Das letzte Kommando der Rückwärtssuche wird wiederholt.
|
n
|
Das letzte Suchkommando wird wiederholt, unabhängig von der Richtung.
|
fZeichen
|
Es wird in der aktuellen Zeile vorwärts nach
Zeichen gesucht und der Cursor
darauf positioniert.
|
FZeichen
|
Wie fZeichen, jedoch wird rückwärts
gesucht.
|
tZeichen
|
Wie fZeichen, jedoch wird der Cursor
vor dem Zeichen positioniert.
|
TZeichen
|
Wie FZeichen, jedoch wird der Cursor
vor dem Zeichen positioniert.
|
;
|
Wiederholung des letzten f-, F-, t-
oder T-Kommandos.
|
,
|
Wiederholung des letzten f-, F-, t-
oder T-Kommandos, jedoch bei invertierter Bewegungsrichtung.
|
:s/alt/neu/
|
In der aktuellen Zeile wird das nächste Auftreten von
alt durch
neu ersetzt. Tritt die zu
ersetztende Stelle mehrfach in der Zeile auf, dann wird sie nur beim ersten
Mal verändert.
|
:s/alt/neu/g
|
Ersetzt in der aktuellen Zeile alle Texte
alt durch
neu. (g = global)
|
:1,$s/alt/neu/g
|
Die Zeichenkette alt wird im
gesammten Text durch neu ersetzt.
|
:m,n,s/alt/neu
|
In den Zeilen m bis
n wird die Zeichenkette
alt durch
neu ersetzt, aber in jeder Zeile
höchstens einmal. Tritt der String mehrfach in einer Zeile auf, wird er nur
beim ersten Mal ersetzt.
|
|
Änderungen rückgängig machen
|
u
|
(Undo - Ungeschehen machen) Macht den letzten Befehl rückgängig.
|