**************************************
* VIM - Befehle und Tastatenbelegung *
**************************************
Navigation <motion>
-------------------
h,l,j,k Cursor links, rechts, runter, rauf
w Nächster Wortanfang
W Nächster WORD-Anfang (durch Blank abgegrenzt)
e Nächstes Wortende
E Nächstes WORD-Ende
b Vorheriger Wortanfang
B Vorheriger WORD-Anfang
ge Vorheriges Wortende
0 Zeilenanfang
^ Erstes Zeichen der Zeile
$ Zeilenende
) Nächster Satzanfang
( Vorheriger Satzanfang
} Nächstes Absatzende
{ Vorheriger Absatzanfang
+ Erstes Zeichen der nächsten Zeile
- Erstes Zeichen der vorherigen Zeile
% Zugehörige Klammer
gg Dateianfang
G Dateiende
<n>G Zeile <n>
H Erste Bildschirmzeile
M Bildschirmmitte
L Letzte Bildschirmzeile
C-f Bildschirmseite runter
C-b Bildschirmseite hoch
C-d Halbe Bildschirmseite runter
C-u Halbe Bildschirmseite hoch
[<n>]zt aktuelle Zeile auf Bildschirmzeile <n> scrollen
[<n>]zb aktuelle Zeile auf <n>t-lezte Bildschirmzeile scrollen
zz aktuelle Zeile auf Bildschirmmitte scrollen
Textobjekt-Selektion für Befehle <selection>
--------------------------------------------
<motion> oder: a|i w|W|s|p|(|)|b|[|]|<|>|{|}|B
a Äußeres Objekt (inkl. Klammern, etc.)
i Inneres Objekt (ohne Klammern und Leerraum)
w Wort
W WORD
s Satz
p Absatz
( ) b () - Klammerblock
[ ] [] - Klammerblock
< > <> - Klammerblock
{ } B {} - Klammerblock
Textselektion im Visual mode
----------------------------
v zeichenorientiert
V zeilenorientiert
C-v rechteckorientiert
Suche
-----
/<string> Vorwärtssuche nach <string>
?<string> Rückwärtssuche nach <string>
n nächster Treffer in gleicher Richtung
N nächster Treffer in anderer Richtung
Bereiche
--------
<range> ::= % (ganze Datei)
| <line s>,<line e> (von Zeile s bis Zeile e)
| <line s>;<line n> (n Zeilen ab Zeile s
<line> ::= n (Zeile Nummer n)
| . (aktuelle Zeile)
| $ Letzte Zeile in Datei
| /pattern Nächste Zeile, in der string vorkommt
Wechsel in Eingabemodus
-----------------------
i Text vor der aktuellen Position einfügen
I Text am Zeilenanfang (erstes Nicht-Blank) einfügen
a Text nach der aktuellen Position einfügen
A Text am Ende der aktuellen Zeile einfügen
R Text ab aktueller Position überschreiben
o Neue Zeile nach der aktuellen erzeugen
O Neue Zeile vor der aktuellen erzeugen
s Aktuelles Zeichen löschen, dann insert
S Aktuelle Zeile löschen, dann insert
Tasten im Eingabemodus
----------------------
C-w letztes Wort löschen
C-p Wort vervollständigen
C-t Zeile einrücken
C-d Zeile Ausrücken
ESC Eingabemodus verlassen
Befehle
-------
[count]command command count-mal ausführen (default: 1)
u Letzten Befehl rückgängig machen
U Undo der aktuellen Zeile
x Zeichen unter Cursor löschen
X Zeichen vor Cursor löschen
d<selection> Löschen bis zur Position <motion>
dd Aktuelle Zeile löschen
D Von Cursor bis zum Zeilenende löschen
y<selection> Kopieren in Default-Puffer bis <motion>
yy Kopieren der aktuellen Zeile
c<selection> Ersetzen (Löschen und Eingabe) bis <motion>
cc Aktuelle Zeile ersetzen
C Vom Cursor bis zum Zeilenende ersetzen
p Default-Puffer nach Cursor einfügen (von d oder y)
P Default-Puffer vor Cursor einfügen
. Wiederholung des letzten d oder c
J Verbindet die aktuelle mit der nächsten Zeile
r<char> Ersetzt das aktuelle Zeichen durch <char>
~ Ändert Groß/Kleinschreibung des akt. Zeichens
q<char> <commands> q Makro namens <char> aufzeichnen
@<char> Makro namens <char> aufrufen
:[range] s/from/to/[g][c] in range (default: aktuelle Zeile) erstes from
durch to ersetzen; g=alle Vorkommen ersetzen;
c=mit Bestätigung
:[range] g[!]/pattern/command in range (default: ges. Datei) command in Zeilen
ausführen, die pattern (! = nicht) erfüllen
!<motion> <system command> Filtern bis <motion> durch <system command>
�Textfaltung
-----------
zf<selection> Faltung erzeugen
zo Faltung öffnen
zc Faltung schließen
zr sichtbare Faltungstiefe erhöhen
zR alle Faltungen sichtbar machen
zm sichtbare Faltungstiefe verringern
zM alle Faltungen einklappen
zn Faltungsmodus ausschalten
zN Faltungsmodus einschalten
zi Faltungsmodus umschalten
:set foldmethod Methode setzen (indent, marker, syntax)
Markierungen
------------
m<char> Setzt Markierung namens <char>
'<char> Springt zur Markierung <char>
:marks Zeigt alle Markierungen an
Dateikommandos
--------------
:q Beenden
:q! Beenden ohne Speichern
:x ZZ Speichern und Beenden
:w Speichern
Fenster
-------
:split Aktuelles Fenster teilen
:split <file> <file> in neuem Fenster öffnen
:new Neuen Buffer in neuem Fenster öffnen
:sview <file> :split und :view <file>
C-w w Nächstes Fenster selektieren (zyklisch)
C-w j Ein Fenster nach unten
C-w k Ein Fenster nach oben
<n>C-w + Fenster um <n> Zeilen vergrößern
<n>C-w - Fenster um <n> Zeilen verkleinern
<n>C-w _ Fenstergröße auf <n> Zeilen setzen (ohne <n>: maximal)
C-w = Alle Fenster gleichgroß