vi-Quick-Reference | |||
Shortcuts für die vi-Bedienung | |||
Text einfügen | |||
a | Hinter dem Cursor einfügen | ||
A | Am Ende der Zeile einfügen | ||
i | Vor dem Cursor einfügen | ||
I | Am Zeilenanfang einfügen | ||
o | Zeile unter aktueller Zeile einfügen | ||
O | Zeile über aktueller Zeile einfügen | ||
[Ctrl]-i / [Tab] | Tabulatorzeichen einfügen | ||
[Ctrl]-v | Nächstes Zeichen uninterpretiert einfügen | ||
[Ctrl]-x | HexZeichen einfügen | ||
[Esc] | Verlassen des Einfügemodus | ||
Text verändern & löschen | |||
ncw | Aktuelles oder n Wörter ändern | ||
ncW | Aktuelles oder n Wörter ändern (Leerzeichen als Trenner) | ||
ncc / nS | Aktuelle oder n Zeilen ändern | ||
nC | Text von der aktuellen Cursorposition bis zum aktuellen oder nten Zeilenende ändern | ||
ndd | Aktuelle oder n Zeilen löschen | ||
D | Bis zum aktuellen Zeilenende löschen | ||
ndw | Aktuelles oder n Wörter löschen | ||
ndW | Aktuelles oder n Wörter löschen (Leerzeichen als Trenner) | ||
nd} | Bis zum nächsten oder nten Absatz löschen | ||
d^ | Bis zum aktuellen Zeilenanfang rückwärts löschen | ||
d/Muster | Bis zum nächsten Vorkommen des Musters löschen | ||
dn | Bis zum nächsten Vorkommen des letzten Musters löschen | ||
dfx | Alle Zeichen bis zum nächsten x auf der aktuellen Zeile (einschließlich) löschen | ||
dtx | Alle Zeichen bis zum nächsten x auf der aktuellen Zeile (ausschließlich) löschen | ||
dL | Bis zum Bildschirmende löschen | ||
dG | Bis zum Dateiende löschen | ||
p | Zuletzt gelöschten/kopierten Text hinter dem Cursor einfügen | ||
"np | Text aus ntem Löschbuffer hinter dem Cursor einfügen (9 möglich) | ||
P | Zuletzt gelöschten/kopierten Text vor dem Cursor einfügen | ||
"nP | Text aus ntem Löschbuffer vor dem Cursor einfügen (9 möglich) | ||
Text verändern & löschen | |||
nr | Ein oder n Zeichen unter/ab dem Cursor mit einem Zeichen n Mal ändern | ||
R | Text ab der Cursorposition ändern | ||
ns | Ein oder n Zeichen ändern, dann einfügen | ||
u | Letzte Änderung rückgängig machen | ||
U | Aktuelle Zeile restaurieren | ||
nx | Ein oder n Zeichen ab dem Cursor löschen | ||
nX | Ein oder n Zeichen links vom Cursor löschen | ||
nJ | Zeile mit nächster oder den nächsten n Zeilen zusammenfügen | ||
. | Letzte Änderung wiederholen | ||
~ | Groß- und Kleinschreibung vertauschen | ||
:r Dateiname | Einlesen der Datei Dateiname unter die aktuelle Zeile | ||
Text kopieren & verschieben | |||
nyy / nY | Aktuelle oder n Zeilen in den Buffer kopieren | ||
"xnyy / xnY | Aktuelle oder n Zeilen in Buffer x kopieren | ||
"xd | Aktuelle Zeile in Buffer x verschieben | ||
"Xd | Aktuelle Zeile in Buffer x anhängen und löschen | ||
"xp | Inhalt von Buffer x nach der aktuellen Zeile einfügen | ||
"xP | Inhalt von Buffer x vor der aktuellen Zeile einfügen | ||
y]] | Von aktueller Cursorposition bis zur nächsten Abschnittsüberschrift kopieren | ||
ye | Von aktueller Cursorposition bis zum Wortende kopieren | ||
y/Muster | Von aktueller Cursorposition bis zum nächsten Vorkommen des Musters kopieren | ||
Befehle auf der Statuszeile | |||
/ | Vorwärts gerichtete Suche nach einem Muster | ||
? | Rückwärts gerichtete Suche nach einem Muster | ||
n | Gleichgerichtete Suche nach letztem Muster | ||
N | Umgekehrt gerichtete Suche nach letztem Muster | ||
: | Aufrufen eines ex-Befehls | ||
! | Aufrufen eines Shell-Kommandos, das als Eingabe den durch Cursorposition und Bewegungskommando definierten Text verwendet und diesen durch die Ausgabe des Kommandos ersetzt | ||
Text speichern & beenden | |||
:x / ZZ | vi beenden, Datei nur sichern, wenn Änderungen vorgenommen wurden | ||
:w | Datei sichern | ||
:w Dateiname | Datei in Datei Dateiname sichern | ||
:w! | Datei sichern trotz Schreibschutz | ||
:q! | Datei trotz Änderungen ungesichert verlassen | ||
:n | Nächste Datei bearbeiten | ||
Cursorbewegungen | |||
nG | Springen des Cursors zum Dateiende oder zur nten Zeile | ||
^ / 0 | Springen des Cursors zum Anfang der aktuellen Zeile <-- | ||
n$ | Springen des Cursors zum Ende der aktuellen oder nten Zeile --> | ||
nb | Springen des Cursors zum Anfang des aktuellen oder nten Wortes <-- | ||
nB | Springen des Cursors zum Anfang des aktuellen oder nten Wortes (Leerzeichen als Trenner) <-- | ||
ne | Springen des Cursors zum Ende des aktuellen oder nten Wortes --> | ||
nE | Springen des Cursors zum Ende des aktuellen oder nten Wortes (Leerzeichen als Trenner) --> | ||
nw | Springen des Cursors zum Anfang des nächsten oder nten Wortes --> | ||
nW | Springen des Cursors zum Anfang des nächsten oder nten Wortes (Leerzeichen als Trenner) --> | ||
[Enter] | Springen des Cursors zum ersten Zeichen der nächsten Zeile --> | ||
nj | Cursor eine oder n Zeilen nach unten bewegen --> | ||
nk | Cursor eine oder n Zeilen nach oben bewegen <-- | ||
nl | Cursor ein oder n Zeichen vor bewegen (nur bis zum Ende der Zeile) --> | ||
nh / [Backspace] | Cursor ein oder n Zeichen zurück bewegen (nur bis zum Anfang der Zeile) <-- | ||
n[Ctrl]-f | Cursor eine oder n Seiten vor bewegen --> | ||
n[Ctrl]-b | Cursor eine oder n Seiten zurück bewegen <-- | ||
t | Springen des Cursors zur nächsten Tabulatorposition --> | ||
H | Cursor am Bildschirmanfang positionieren | ||
M | Cursor in der Bildschirmmitte positionieren | ||
L | Cursor am Bildschirmende positionieren | ||
mx | Marker x setzen | ||
'x | Springen des Cursors zur Zeile mit Marker x | ||
`x | Springen des Cursors zum Zeichen mit Marker x | ||
Sonstiges | |||
[Ctrl]-e | Zeilenweise vorwärts scrollen ohne Bewegung des Cursors --> | ||
[Ctrl]-y | Zeilenweise rückwärts scrollen ohne Bewegung des Cursors <-- | ||
:se ai/noai | Zeilen (nicht) automatisch einrücken (set autoindent/noautoindent) | ||
:se nu/nonu | Zeilennummern anzeigen/ausblenden (set numbers/nonumbers) | ||
:n,n# | Zeile n bis Zeile n mit Zeilennummern anzeigen | ||
n ist immer optional und eine Zahl x ist immer genau EIN Zeichen [..] ist immer eine Taste |
|||