VIM Schnellübersicht
Grundlegende Bewegungen
h l k j |
Zeichen links, rechts; Zeile hoch, runter |
b w |
Wort links, rechts |
ge e |
Wortende links, rechts |
{ } |
Anfang vorhergehender, nächster Absatz |
( ) |
Anfang vorhergehender, nächster Satz |
0 gm |
Zeilenanfang, Zeilenmitte |
^ $ |
erstes, letztes Zeichen der Zeile |
nG ngg |
Zeile n, Ersatzwert: letzte, erste Zeile |
n% |
Prozentsatz n der Datei |
n| |
Spalte n der akt. Zeile |
% |
zugehörige Klammer, Kommentarende, #define |
nH nL |
Zeile n nach Dateianfang, vor Dateiende |
M |
mittlere Zeile im Fenster |
Einfügen & Ersetzen→ Einfügemodus
i a |
vor, nach dem Cursor einfügen |
I A |
am Anfang, Ende der Zeile einfügen |
gI |
in der 1. Spalte einfügen |
o O |
neue Zeile unter, über der akt. Zeile öffnen |
rc |
Zeichen unter dem Cursor durch c ersetzen |
grc |
wie r, ohne Auswirkung auf das Layout |
R |
Zeichen ab der Cursorposition ersetzen |
gR |
wie R, ohne Auswirkung auf das Layout |
cm |
ersetze Text des Bewegungsbefehls m |
cc or S |
ersetze aktuelle Zeile |
C |
ersetze bis zum Zeilenende |
s |
ersetze ein Zeichen, gehe in den Einfügemodus |
~ |
ändere Groß-/Kleinschreibung |
g~m |
ändere Groß-/Kleinschr. des Bew.bef. m |
gum gUm |
Klein-, Großschreibung des Bew.bef. m |
<m >m |
Text der Bewegung m links, rechts schieben |
n<< n>> |
n Zeilen links, rechts schieben |
Löschen
x X |
lösche Zeichen unter, vor dem Cursor |
dm |
lösche Text der Bewegung m |
dd D |
lösche akt. Zeile, bis zum Zeilenende |
J gJ |
2 Zeilen zusammenfassen, ohne Leerzeichen |
:rd |
lösche r Zeilen |
:rdx |
lösche r Zeilen in Register x |
Einfügemodus
^Vc ^Vn |
Zeichen c wörtl. einfügen, Dez.wert n |
^A |
zuvor eingefügten Text einfügen |
^@ |
wie ^A und Einfüge- → Befehlsmodus |
^Rx ^R^Rx |
füge Inhalt des Registers x ein, wörtl. |
^N ^P |
Textergänzung (Treffer nach, vor dem Cursor) |
^W |
Wort vor dem Cursur löschen |
^U |
alle eingefügten Zeichen der akt. Zeile löschen |
^D ^T |
einen Tab.abstand links, rechts schieben |
^Kc1c2 or c1←c2 |
Digraph c1,c2eingeben |
^Oc |
Befehl c ausführen |
^X^E ^X^Y |
aufwärts, abwärts blättern |
<esc> or ^[ |
in den Befehlsmodus schalten |
Kopieren
„x |
nächstes Löschen, Kopieren, Einfügen in Reg. x |
:reg |
Inhalt aller Register zeigen |
:reg x |
Inhalt von Register x zeigen |
ym |
kopiere Text des Bewegungsbefehls m |
yy or Y |
kopiere akt. Zeile in das Kopierregister |
p P |
füge Kopierregister hinter, vor dem Cursor ein |
]p [p |
wie p, P mit Einrückung |
gp gP |
wie p, P, Cursor bleibt hinter dem Text |
Weitere Einfügeoperationen
g?m |
rot13-Verschlüsselung für die Bewegung m |
n^A n^X |
+n, -n zur Zahl unter dem Cursor |
gqm |
format. Bewegungsbereich m auf feste Breite |
:rce w |
zentriere Zeilen im Bereich r auf Breite w |
:rle i |
Zeilenbereich r linksbündig mit Einrückung i |
:rri w |
Zeilenbereich r rechtsbündig auf Breite w |
!mc |
filtere Bewegungsbereich m durch ext. Befehl c |
n!!c |
filtere n Zeilen durch ext. Befehl c |
:r!c |
filtere Zeilenbereich r durch ext. Befehl c |
Markierungsmodus
v V ^V |
Zeichen-, Zeilen-, Blockmarkierung ein/aus |
o |
Cursor an den Anfang der Markierung |
gv |
letzten markierten Bereich nochmals markieren |
aw as ap |
Wort, Satz, Absatz markieren |
ab aB |
( )-Block , { }-Block markieren |
Rückgängig machen, Wiederholen & Register
u |
letzten Befehl rückgängig machen |
U |
zuletzt geänderte Zeile wiederherstellen |
. |
letzte Änderungen wiederholen |
^R |
rückgängig gemachten Befehl erneut anwenden |
letzte Änderungen n-mal durchführen |
|
qc qC |
nächste Eingaben in Reg. c speichern, anfügen |
q |
Aufzeichnung beenden |
@c |
Inhalt von Register c ausführen |
@@ |
letzten @-Befehl wiederholen |
:@c |
Register c als Ex-Befehl ausführen |
:rg/p/c |
Ex-Befehl c für Bereich r dort ausführen wo das Muster p zutrifft |
Komplexe Bewegungen
Zeile hoch, runter auf erstes Nichtleerzeichen |
|
B W |
Wort links, rechts (Trennung: Leerzeichen) |
gE E |
Wortende links, rechts (Trennung: Leerzeichen) |
n-1 Zeilen runter zum 1. Nichtleerzeichen |
|
g0 |
Anfang der Bildschirmzeile |
g^ g$ |
erstes, letztes Zeichen der Bildschirmzeile |
gk gj |
Bildschirmzeile auf, ab |
fc Fc |
nächstes, vorhergehendes Zeichen c suchen |
tc Tc |
vor nächstes c, hinter vorhergehendes c |
; , |
letztes fFtT wiederholen, in Gegenrichtung |
[[ ]] |
zum Abschnittsbeginn rückwärts, vorwärts |
[] ][ |
zum Abschnittsende rückwärts, vorwärts |
[( ]) |
offene (, ) rückwärts, vorwärts |
[{ [} |
offene {, } rückwärts, vorwärts |
[m ]m |
Anfang der vorhergeh., nächsten Java-Methode |
[# ]# |
offenes #if, #else, #endif rückwärts, vorwärts |
[* ]* |
Anfang, Ende /* */ rückwärts, vorwärts |
Suchen & Ersetzen
|
suche s vorwärts, rückwärts |
/s/o ?s?o |
suche s vorw., rückw., Versatz o |
n or / |
letzte Suche vorwärts wiederholen |
N or ? |
letzte Suche rückwärts wiederholen |
# * |
suche Wort unter Cursor rückwärts, vorwärts |
g# g* |
dasselbe, auch teilweise Übereinstimmung |
gd gD |
lok., glob. Def. des Symbols unter Cursor |
:rs/f/t/x |
im Bereich r wird f durch t ersetzt |
x: |
g-alle Vorkommen, c-mit Bestätigung |
:rs x |
Ersetzung mit neuem r & x wiederholen |
Metazeichen in Suchmustern
. ^ $ |
beliebiges Zeichen, Zeilenanfang, Zeilenende |
< > |
Wortanfang, Wortende |
[c1-c2] |
einzelnes Zeichen im Bereich c1..c2 |
[^c1-c2] |
einzelnes Zeichen nicht im Bereich c1..c2 |
i k I K |
Name, Schlüsselwort; ohne Ziffern |
f p F P |
Dateiname, druck. Zeichen; ohne Ziffern |
s S |
Leerzeichen, Nichtleerzeichen |
e t r b |
<esc>, <tab>, <←>, <←> |
= * + |
Wiederholungen: 0..1, 0..∞, 1..∞ |
| |
trennt Alternativen |
( ) |
faßt Muster zu einer Gruppe zusammen |
& n |
der ganze Treffer, die n-te () Gruppe |
u l |
Groß-, Kleinbuchstabe |
Versätze in Suchbefehlen
n or +n |
n Zeilen abwärts in Spalte 1 |
-n |
n Zeilen aufwärts in Spalte 1 |
e+n e-n |
n Zeilen rechts, links vom Ende des Treffers |
s+n s-n |
n Zln. rechts, links vom Anfang des Treffers |
;sc |
anschließend Suchbefehl sc ausführen |
Marken und Bewegungen
mc |
Marke c [a..Z] an die akt. Position setzen |
`c `C |
zur Marke c in akt. Datei, C in belieb. Datei |
`0..9 |
zur Pos. beim letzten Verlassen des Editors |
`` `“ |
zur Pos. vor dem Sprung, vor letztem Verl. |
`[ `] |
zum Anfang, Ende des zuletzt geändert. Textes |
:marks |
Liste der Markierungen ausgeben |
:jumps |
Liste der Sprungpositionen ausgeben |
n^O |
zur n-ten älteren Pos. in der Sprungliste |
n^I |
zur n-ten jüngeren Pos. in der Sprungliste |
Tastenbelegung & Abkürzungen
:map c e |
ersetze c (TAB) e im Normal- & Mark.mod. |
:map! c e |
ersetze c (TAB) e im Einfüge- & Bef.mod. |
:unmap c :unmap! c |
Ersetzung für c aufheben |
:mk f |
akt. Einstellungen in Datei f schreiben |
:ab c e |
definiere c als Abkürzung für e |
:ab c |
Abkürzung zeigen, die mit c beginnen |
:una c |
Abkürzung c löschen |
Blättern & mehrere Fenster
^E ^Y |
Zeile auf, ab |
^D ^U |
halbe Seite auf, ab |
^F ^B |
Seite auf, ab |
zt or z |
akt. Zeile an den Fensteranfang |
zz or z. |
akt. Zeile in die Fenstermitte |
zb or z- |
akt. Zeile an das Fensterende |
zh zl |
ein Zeichen nach rechts, links |
zH zL |
halben Bildschirm nach rechts, links |
^Ws or :split |
Fenster waagrecht teilen |
^Wn or :new |
neues, leeres Fenster erzeugen |
^Wo or :on |
akt. Fenster wird einziges Fenster |
^Wj ^Wk |
in das Fenster unten, oben |
^Ww ^W^W |
in das Fenster unten, oben (reihum) |
Ex-Befehle
:e f |
editiere Datei f, außer nach Änderungen |
:e! f |
editiere Datei f in jedem Fall |
:wn :wN |
Datei schreiben & nächste, vorhergeh. edit. |
:n :N |
nächste, vorhergeh. Datei editieren |
:rw |
Bereich r in akt. Datei schreiben |
:rw f |
Bereich r in Datei f schreiben |
:rw>>f |
Bereich r an Datei f anhängen |
:q :q! |
Editor verlassen, Änderungen verwerfen |
:wq or :x or ZZ |
akt. Datei schreiben & Ed. verlassen |
<up> <down> |
in der Befehlsliste blättern |
:r f |
Inhalt von Datei f vor Cursor einfügen |
:r! c |
Ausgabe des Befehles c nach Cursor einfügen |
:all |
ein Fenster pro Datei in der Arg.liste öffnen |
:args |
die Argumentliste anzeigen |
Ex-Bereiche
, ; |
trennt 2 Zeilennummern, gehe zur ersten der Zeilen |
n |
absolute Zeilennummer n |
. $ |
akt. Zeile, letzte Zeile der Datei |
% * |
ganze Datei, markierter Bereich |
‚t |
Position der Marke t |
/p/ ?p? |
nächste, vorherg. Zeile für die p zutrifft |
+n -n |
+n, -n zur akt. Zeilennummer |
Faltung
zfm |
erzeuge Faltung bis Bewegung m |
:rfo |
erzeuge Faltung für den Bereich r |
zd zE |
lösche Faltung unter Cursor, alle im Fenster |
zo zc zO zC |
öffne, schließe Faltung unter Cursor; rekursiv |
[z ]z |
zum Anfang, Ende der offenen Faltung |
zj zk |
aufwärts, abwärts zum Anfang, Ende der nächsten Faltung |
Verschiedenes
:sh :!c |
starte Shell, Shell-Befehl c ausführen |
K |
man für Wort unter dem Cursor aufrufen |
:make |
make starten, Fehler lesen, zum 1. springen |
:cn :cp |
zum nächste, vorherg. Fehler springen |
:cl :cf |
Fehlerliste ausgeben, ~ aus Datei lesen |
^L |
Bildschirm neu schreiben |
^G |
Dateinamen und Position zeigen |
g^G |
zeige Cursorpos.: Spalte, Zeile, Wort, Byte |
ga |
ASCII-Wert des Zeichens unter dem Cursor |
gf |
Datei öffnen, deren Name unter dem Cursor steht |
:redir>f |
Ausgabe in Datei f umleiten |
:mkview [f] |
Darstellungsopt. speichern [in Datei f] |
:loadview [f] |
Darstellungsopt. laden [aus Datei f] |
^@ ^K ^_ Fn ^Fn |
nichtdef. Tasten, Neudef. möglich |
Copyright (C) 2005 by Laurent GRÉGOIRE (laurent.gregoire@icam.fr) Translated from English by Fritz Mehner