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