Editor vi
der Editor vi
Kurzreferenz - Befehle im Befehlsmodus
Cursorpositionierung
Befehl | Modus |
---|---|
h | Ein Zeichen nach links |
l | Ein Zeichen nach rechts |
k | Ein Zeichen nach oben |
j | Ein Zeichen nach unten |
Leertaste | Ein Zeichen nach rechts |
+ | Beginn der nächsten Zeile |
Enter | Beginn der nächsten Zeile |
- | Beginn der vorusgegangenen Zeile |
^ | Zeilenbeginn der aktuellen Zeile |
$ | Zeilenende in der aktuellen Zeile |
w | Beginn des folgenden Wortes (word) |
W | Beginn des folgenden Wortes (Leerzeichen als Wortgrenze) |
b | Beginn des vorhergehenden Wortes (back) |
B | Beginn des vorhergehenden Wortes (Leerzeichen als Wortgrenze) |
E | Ende des Wortes |
( | Anfang des vorherigen Satzes |
) | Ende des aktuellen Satzes |
Strg+b | Vorhergehende Bildschirmseite (backward) |
Strg+f | Folgende Bildschirmseite (forward) |
G | Beginn der letzzten Textzeile |
zeilennummerG | Beginn einer bestimmten Zeile (Zeilennummer) |
H | Beginn der Bildschirmseite |
L | Ende der Bildschirmseite |
z Enter | aktuelle Zeile nach oben auf den Bildschirm |
Umschalten in den Eingabemodus
Befehl | Modus |
---|---|
a | Text nach der aktuellen Cursorposition einfügen (append) |
A | Text am Zeilenende der aktuellen Cursorposition einfügen |
i | Text vor der aktuellen Cursorposition einfügen |
I | Text am Zeilenanfang der aktuellen Zeile einfügen |
o | Unterhalb der aktuellen Zeile eine neue Zeile einfügen |
O | Oberhalb der aktuellen Zeile eine neue Zeile einfügen |
R | Den Überschreibmodus ab der aktuellen Cursorposition starten |
r | Ein einzelnes Zeichen überschreiben und den Eingabemodus wieder verlassen |
Löschen im vi
Befehl | Modus |
---|---|
x | Löschen des Zeichens unter dem Cursor |
X | Löschen des Zeichens vor dem Cursor |
dw | Löschen des Wortes ab der aktuellen Cursorposition einschließlich Leerzeichen |
de | Löschen des Wortes ab der aktuellen Cursorposition ohne folgendes Leerzeichen |
db | Löschen des Wortes ab der aktuellen Cursorposition rückwärts |
ndd | Löschen von n Zeilen ab der aktuellen Cursorposition |
d) | Löschen des Satzes ab der aktuellen Cursorposition bis zum Ende |
d( | Löschen des Satzes ab der aktuellen Cursorposition bis zum Anfang |
d$ | Löschen ab der aktuellen Cursorposition bis zum Zeilenende |
d^ | Löschen ab der aktuellen Cursorposition bis zum Zeilenanfang |
dL | Löschen ab der aktuellen Position bis zum unteren Bildschirmende |
dnG | Löschen aller Zeilen ab der aktuellen Cursorposition bis zur angegebenen Zeilennummer n |
Zeilen zusammenfügen
Befehl | Modus |
---|---|
J | verbindet die aktuelle mit der nächsten Zeile |
Befehle rückgängigmachen
Befehl | Modus |
---|---|
u | Macht den zuletzt im Befehlsmodus abgesetzten Befehl rückgängig (alle während einer vi-Sitzung abgesetzten Befehle werden gespeichert und können somit defr Reihe nach rückgängig gemacht werden) |
U | Macht alle Befehle, die zusammenhängend innerhalb der aktuellen Zeile abgesetzt urden, auf einmal rückgängig |
Strg+r | Führt einen rückgängiggemachten Befehl erneut aus (praktisch, wenn zu viel rückgängiggemacht wurde) |
Verschieben und Kopieren
Befehl | Modus |
---|---|
y | Aktuelles Zeichen in Puffer kopieren |
yy oder Y | Aktuelle Zeile in den Puffer kopieren |
yw | Aktuelles Wort, ab Cursorposition in en Puffer kopieren (inklusive Leerzeichen) |
ye | Aktuelles Wort, ab Cursorposition in den Puffer kopieren (ohne Leerzeichen) |
y^ | Zeile ab Cursorposition bis Zeilenanfang in den Puffer kopieren |
y$ | Zeile ab Cursorposition bis Zeilenende in den Puffer kopieren |
y( | Satz ab Cursorposition bis Satzanfang in den Puffer kopieren |
y) | Satz ab Cursorposition bis Zeilenende in den Puffer kopieren |
yL | Alles ab aktueller Zeile bis zum Bildschirmende in den Puffer kopieren |
p | Einfügen des Pufferinhalts ab der aktuellen Position, gepufferte Zeilen und Bereiche werden in eine neue Zeile kopiert, gepufferte Zeichen, Wörter, Teile von Zeilen und Teile von Sätzen werden direkt ab der aktuellen Cursorposition eingefügt. |
P | Einfügen des Pufferinhalts vor der aktuellen Position.. Auch hier gilt, dss komplette Zeichen und Bereiche in neue Zeilen oberhalb der aktuellen Zeile eingefügt werden, einzelne Zeichen, Wörter, etc. unmittelbar vor der aktuellen Cursorposition. |
Suchen
Befehl | Modus |
---|---|
Esc + /Suchbegriff + Enter | Suchfunktion vorwärts einchalten |
n | Suchfunktion vorwärts wiederholen lassen |
N | Suchvorgng rückwärt wiederholen |
Esc + ?Suchbegriff + Enter | Suchfunktion rückwärts einschalten |
Kurzreferenz - Befehle im Kommandozeilenmodus
Allgemeine Befehle
Befehl | Modus |
---|---|
Nummer | Positioniert den Cursor an die Zeile mit der Nummer |
x | Speichern falls Änderungen gemach wurden und vi beenden |
wq | Speichern und vi beenden |
w | Speichern und nicht beenden |
w Datei | Speichern unter einem anderen Namen |
von,bisw Datei | Speichern eines Bereichs in eine Datei. von,bis sind die Zeilen, die den zu speichernen Bereich eingrenzen |
q | vi beenden ohne zu speichern |
e Datei | Neue Datei in vi laden. Die alte Datei wird geschlossen, falls sie seit der letzten Änderung gepeichert wurde. |
e! | Datei erneut laden, alle Änderungen verwerfen. |
r Datei | Den Inhlt einer Datei unterhalb der aktuellen Cursorposition einfügen. |
Befehl! | Erzwingen eines Befehls (z.B. w!, q!, e! etc.), ohne Rücksicht uf Verluste |
!Shell-Kommando | Ein Shell-Kommando ausführen und Ergebnis am am Bilschirm anzeigen (z.B. !ls). |
!! | Letztes Shell-Kommando wiederholen. |
r!Shell-Kommando | Das Ergebnis eines Shell-Kommandos nach der aktuellen Zeile einfügen. |
.!Shell-Kommando | Das Ergebnis eines Shell-Kommandos ab der aktuellen Zeile einfügen, aktuelle Zeile wird überschrieben. |
set number | fügt die Zeilennummer vorne ein |
Suchen und Ersetzen
Befehl | Modus |
---|---|
von | Start-Zeile, in der begonnen werden soll. Fehlt die Ausgabe, wird die aktuelle Position als Startseite verwendet. |
,bis | End-Ziel, bis dahin sollen die Veränderungen durchgeführt werden. Fehlt diese Angabe wird nur in der aktuellen oder in der durch von angegebenen Zeile ersetzt. |
s | Ist der Suche-/Ersetzebefehl selbst. |
Suchen | Ist der Ausdruck nach em gesucht werden soll. Hier kann auch ein Suchmuster (regulärer Ausdruck) angegebene werden. |
Ersetzen | Hier wird angegeben, wie das gefundene Suchmuster ersetzt werden soll. Achtung: wid nach einem regulären Ausdruck gesucht, wird alles ersetzt, was dem Ausdruck entspricht. Also Vorsicht bei der Formulierung. |
g | Bedeutet, dass alle zutreffnden Ausdrücke in einer Zeile ersetzt werden, nicht nur der zuerst gefunden Ausdruck. |
c | Bedeutet, dass vor dem Ersetzen nochmal nachgefragt wird. |
:%s/\./,/g | hier wird ein punkt [.] durch ein Komma [,] ersetzt |
:%s/green/blue/g | hierbei wird "green" durch "blue" ersetzt |