vi - Kurzversion
Von Peter H. Rüegg (peach auf trash.net)
Aufrufen und Verlassen
start vi |
vi filename [CR] |
vi verlassen mit schreiben |
:wq [CR] |
vi verlassen ohne schreiben |
:q [CR] |
vi verlassen unter zwang |
:q! [CR] |
Cursor bewegen
aufwärts |
k |
abwärts |
j |
rechts |
l |
links |
h |
wortende vorwärts |
e |
wortbeginn vorwärts |
w |
wortbeginn rückwärts |
b |
zeilenanfang |
^ |
zeilenende |
$ |
letzte zeile in file |
G |
n-te zeile in file |
nG |
Fenster verschieben
um ½-bildschirmseite abwärts |
[CTRL] d |
um ½-bildschirmseite aufwärts |
[CTRL] u |
um 1 bildschirmseite vorwärts |
[CTRL] f |
um 1 bildschirmseite rückwärts |
[CTRL] b |
Text einfügen
einfügen links vom cursor |
i text [ESC] |
einfügen am zeilenanfang |
I text [ESC] |
einfügen rechts vom cursor |
a text [ESC] |
einfügen am zeilenende |
A text [ESC] |
einfügen neuer zeilen nach aktueller zeile |
o text [ESC] |
einfügen neuer zeilen vor aktueller zeile |
O text [ESC] |
Text ersetzen
ersetzen von einem zeichen |
r zeichen |
ersetzen von n wörtern |
ncw text [ESC] |
ersetzen bis zum zeilenende |
C text [ESC] |
ersetzen von n ganzen zeilen |
ncc text [ESC] |
ersetzen von n zeichen |
ns text [ESC] |
ersetzen von n ganzen zeilen |
nS text [ESC] |
überschreiben von zeichen |
R text [ESC] |
Sonderbefehle im Einfügemodus
löscht das zuletzt eingegebene zeichen |
[CTRL] h / [BS] |
löscht das zuletzt eingegebene wort |
[CTRL] w |
beginnt neue zeile |
[CR] |
für einfügen von sonderzeichen |
[CTRL] v |
beendet den einfügemodus |
[ESC] |
Löschen
n zeichen löschen über dem cursor |
nx |
n zeichen löschen vor dem cursor |
nX |
n wörter löschen |
ndw |
n zeilen löschen |
ndd |
löscht bis zum zeilenende |
D |
Rückgängig machen
macht das vorhergehende änderungskommando rückgängig |
u |
macht alle änderungen in der aktuellen zeile rückgängig |
U |
Kopieren und Bewegen
kopieren n zeichen in den allgemeinen puffer |
ny [SPACE] |
kopieren n zeichen in den puffer x |
"xnY [SPACE] |
kopieren n wörter in den allgemeinen puffer |
nyw |
kopieren n wörter in den puffer x |
"xnyw |
kopieren n zeilen in den allgemeinen puffer |
nY |
kopieren n zeilen in den puffer x |
"xnY |
fügt den inhalt des allgemeinen puffers nach der aktuellen zeile an |
p |
fügt den inhalt des puffers x nach der aktuellen zeile an |
"xp |
fügt den inhalt des allgemeinen puffers vor der aktuellen zeile an |
P |
fügt den inhalt des puffers x vor der aktuellen zeile an |
"xP |
Parameter von vi
alle optionen abfragen |
:set all |
jede zeile mit zeilennummer (nur auf bildschirm) |
.set nu |
rücksetzung der zeilennummerierung |
:set nonu |
automatischer linker randausgleich |
:set ai |
zurücksetzung der randangleichung |
:set noai |
text wird immer nachgeführt |
:set redraw |
Substituieren von Text
in zeilen m bis n zeichenfolge str1 durch str2 ersetzen |
:m,ns/str1/str2/ |
in der n-ten zeile ersetzen |
:ns/str1/str2/ |
in der aktuellen zeile |
:s/str1/str2/g |
Suchbefehle
durchsucht buffer vorwärts nach suchbegriff |
/suchbegriff [CR] |
durchsucht buffer rückwärts nach suchbegriff |
?suchbegriff [CR] |
wiederholt das letzte suchkommando |
n |
wiederholt das letzte suchkommando in umgekehrter richtung |
N |
Shell Befehle
shell-kommando ausführen |
!cmd [CR] |
shell aufrufen |
:sh[CR] |
rückkehr aus shell |
[CTRL] d |