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_

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

/s

?s

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

Tags

:ta t

springe zum tag t

:nta

springe zum n-neueren tag des Stapels

^] ^T

zum tag unter dem Cursor, zurück vom tag

:ts t

Liste der tags zeigen, einen auswählen

:tj t

springe zum tag t

:tags

Liste der tags ausgeben

:npo :n^T

zum n-älteren tag des Stapels

:tl

springe zum letzten passenden tag

^W} :pt t

zeige tag unter Cursor, tag t (preview)

^W]

teile Fenster und zeige tag unter dem Cursor

^Wz or :pc

schließe preview-Fenster

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