Übersicht über Tastenkürzel im vi.
Durch den Text bewegen
- Ein Zeichen vor bzw. zurück:
Pfeiltaste rechtsoderSpacebzw.Pfeiltaste linksoderBackspace - n Zeichen vor bzw. zurück:
n, Pfeiltaste rechtsodern, Spacebzw.n, Pfeiltaste linksodern, Backspace - Ein Wort vor bzw zurück:
wbzw.b - Zum Zeilenanfang bzw -ende:
^bzw.$ - Zeile hoch bzw runter:
Pfeiltaste hochoder-bzw.Pfeiltaste runteroder+oderReturn - Eine Seite weiter bzw zurück:
ctrl-foderPage downbzw.ctrl-boderPage up - zur n-ten Zeile gehen:
n, shift-g(Ende des Files nurshift-g)
Bearbeiten des Textes
Text einfügen
- Text an aktueller Position einfügen:
i - Text am Anfang der aktuellen Zeile einfügen:
shift-i - Text nach der aktuellen Position einfügen:
a - Text am Ende der Zeile einfügen:
shift-a - Neue Zeile unterhalb der aktuellen Zeile einfügen:
o - Neue Zeile oberhalb der aktuellen Zeile einfügen:
shift-o
Text ersetzen
- Text ersetzen von der aktuellen Position bis zum Ende des Wortes:
cw - Aktuelles Zeichen ersetzen:
cIodercl - Ersetzen von der aktuellen Position bis zum Ende der Zeile:
c$ - Die ganze Zeile ersetzen:
cc - In den Überschreiben-Modus wechseln:
shift-r
Löschen und kopieren
- Aktuelles Zeichen löschen:
dloderx - Löschen bis zum Ende des Wortes:
dw - Löschen bis zum Ende der Zeile:
d$ - Löschen der ganzen Zeile:
dd - Löschen bis zum nächsten Vorkommen von :
d/suchmuster - Zeilenvorschub löschen und die nächste Zeile mit einem Leerzeichen dazwischen anfügen:
shift-j - Kopieren geht analog zum Löschen, das eigentlich ein Ausschneiden ist, mit
ystattd - Einfügen des Gelöschten bzw Kopierten an der aktuellen Position:
shift-p - Einfügen des Gelöschten bzw Kopierten hinter der aktuellen Position:
p - Einfügen bzw Löschen rückgängig machen:
u
Suchen, finden und ersetzen
- vorwärts suchen ab der Cursor-Position:
/<Suchbegriff> - rückwärts suchen ab der Cursor-Position:
?<Suchbegriff> nbzw.shift-nspringt zum nächsten bzw. vorigen Suchbegriff in Suchrichtung- Suchen und ersetzen zwischen Zeile n und m:
:n,m s/suchmuster/ersetze/g. Ohne dasgwird nur der erste Treffer pro Zeile ersetzt :1,$für das ganze File und nur:für die aktuelle Zeile
Allgemeine Befehle
- Für Mehrfachausführungen einfach die Anzahl vor dem Befehl angeben
- Den letzten Befehl wiederholen:
. - Zeilennummerierung einschalten:
:set nu
Datei-Befehle
- Text aus einer anderen Datei an der aktuellen Position einfügen:
:r <dateiname> - Nächste Datei laden, wenn mehrere beim vi-Aufruf übergeben wurden:
:n - Shell öffnen und Kommando ausführen:
:! <Kommando> - Speichern der Datei:
:w - Speichern der Datei unter anderem Namen:
:w <anderer Name> - Beenden des vi:
:q - Beenden und die Änderungen verwerfen:
:q! - Speichern und beenden:
:wq
Links
- Customizing vi and vim bei IBM developerWorks. Am Ende des Artikels sind noch weitere Links zu finden
- Im wiki der ubuntuusers findet sich natürlich auch ein Abschnitt über den vi
- Janus für vim bei think vitamin
- Eigenes Syntax highlighting in vim