,

Befehlsreferenz vi

die drei Modi des vi

vi – gewöhnungsbedürftig, aber auf jedem UNIX- und Linuxsystem verfügbar. Und naja, irgendwie auch Kult…

Der erweiterte vi ‚vim‚ (= vi improved) muss – wenn gewünscht – nachinstalliert werden und verfügt neben vielen sinnvollen Funktionen und Erleichterungen über den wirklich empfehlenswerten vimtutor.

Der vi verfügt über drei Modi, zwischen denen mit festgelegten Kommandos gewechselt wird:

Kommandomodus: alle Tastatureingaben stellen Kommandos dar, die nicht auf dem Bildschirm erscheinen und zumeist nicht durch Drücken der Eingabetaste bestätigt werden müssen. Dies ist der Modus direkt nach dem Start.

Eingabemodus: alle Tastatureingaben werden als Text behandelt und sind auf dem Monitor zu sehen.

Kommandozeilenmodus: es können längere Befehle eingegeben werden, diese werden üblicherweise durch einen Doppelpunkt eingeleitet und mit der EIngabetste abgeschlossen.

die drei Modi des vi

Grundlegende Kommandos

Textbearbeitung

i Einfügen vor dem Cursor
A Einfügen am Zeilenende
o Einfügen in neuer Zeile
cw Wort ändern
Obige Kommandos wechseln in den Eingabemodus, <ESC> beendet ihn wieder
x Löschen des aktuellen Zeichens
dd Löschen einer Zeile
<anzahl>dd Löschen von <anzahl> Zeilen
dw Löschen eines Wortes
D Löschen der Zeichen rechts vom Cursor innerhalb einer Zeile
r<zeichen> Ersetzen des Zeichens unter dem Cursor durch <zeichen>
u macht letzte Textänderung rückgängig
J Anfügen der nächsten Zeile an die aktuelle Zeile
yw Sichern eines Wortes
yy Sichern einer Zeile
<zahl>yy Sichern einer <zahl> Zeilen
p fügt zuletzt gelöschten oder gesicherten Text nach dem Cursor ein, Wörter werden in der aktuellen Zeile, Zeilen in einer neuen Zeile eingefügt
. Wiederholt letztes Kommando, welches eine Textänderung bewirkte, an aktueller Cursorposition
~ Wandelt Groß- in Kleinbuchstaben und umgekehrt
>> Rechtsshift der aktuellen Zeile um eine Tabulatorposition
<< Macht >> rückgängig

Cursorbewegungen

e Gehe ans Wortende
h Gehe nach links
j Gehe nach unten
k Gehe nach oben
l Gehe nach rechts
w Gehe ein Wort weiter
b Gehe ein Wort zurück
0 Gehe an den Anfang der aktuellen Zeile
$ Gehe an das Ende der aktuellen Zeile
<zeile>G Gehe in die angegebene Zeile
H Gehe in die erste Zeile
G Gehe in die letzte Zeile

Bildschirmdarstellungen

<Strg> d Rolle Bild halbe Seite nach untern
<Strg> u Rolle Bild halbe Seite nach oben
set nonu Zeilennummerierung wird nicht angezeigt
set nu Zeilennummerierung wird angezeigt

Verlassen des Editors vi

ZZ Datei sichern und vi verlassen
:wq! Datei auf Speichermedium schreiben und vi verlassen
:q! vi verlassen ohne die Datei auf den Speicher zu schreiben

Weitere Kommandos

Textbearbeitung

 

I Einfügen am Zeilenanfang
a Einfügen nach Cursor
O Einfügen in neuer Zeile vor der aktuellen Zeile
R Überschreiben der folgenden Zeilen
s Ersetzen eines Zeichens durch Text
S Ersetzen einer gesamten Zeile
X Löschen des Zeichens vor dem Cursor
<anzahl>X Löschen von <anzahl> Zeichen vor der Cursorposition
<anzahl>x Löschen von <anzahl> Zeichen nach der Cursorposition
<anzahl>J Löschen der nächsten <anzahl>-J Neue-Zeile-Zeichen
r<zeichen> Ersetzen des Zeichens unter dem Cursor durch <zeichen>
U bringt die aktuelle Zeile in den Zustand zurück, in dem sie war, als der Cursor als der Cursor in die Zeile kam
„<zeichen>yw Sichert Wort in Puffer <zeichen>
„<zeichen>y$ Sichert Zeile rechts vom Cursor in Puffer <zeichen>
„<zeichen>yy Sichert Zeile in Puffer <zeichen>
„zeichen><zahl>yy Sichert <zahl> Zeilen in Puffer <zeichen>
<zahl>p fügt <zahl>te letzte Löschung nach Cursor ein
„<zeichen>p Fügt Inhalt von Puffer <zeichen> nach Cursor ein
P Fügt zuletzt gelöschten Text vor dem Cursor ein.
<zahl>P Fügt <zahl>te letzte Löschung vor Cursor ein
„<zeichen>p Fügt Inhalt von Puffer <zeichen> vor Cursor ein

Cursorbewegungen

… coming soon …

Weiterführende Literatur:

[asa]B06XDTV6GX[/asa]

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert