26.09.2007
Config unter Info/Config/vimrc.txt
ctags --totals=yes --recurse=yes --links=no -f .ctags
Sehr hilfreich sind:
[map] Link folgen, Fktjump ^l
Zurück springen ^o
Enter beim Ersetzen eingeben ^q Enter
Spaces->Tab :%retab!
:'<,'>SuperRetab 2
Formatting gq
command! -nargs=1 -range SuperRetab ,s/\v%(^ *)@<= {}/\t/g
Text editieren:
Textlänge: :set textwidth=72
Abkürzungen (abbreviation): :ab mfg Mit freundlichen Grüßen
Sofort bei Eingabe verändern: :imap ü "u
Programmieren:
Zur anderen Klammer springen: %
Ein C-Wort weiterspringen: w
Ein Wort weiterspringen: W
Ein C-Wort zurückspringen: b
Ein Wort zurückspringen: B
Nützliches (vorallem zusammen mit Makros):
Nächste Zahl um 1 erhöhen: Ctrl+A
Nächste Zahl um 1 erniedrigen: Ctrl+X
Tabs:
List all tabs :ls
Makro: (statt 1 beliebige zahl oder buchstabe)
(100... anzahl wiederholungen)
Anfang/Ende aufzeichnung: q1
Ausführen: 100@1
letztes wiederholen: .
Basic Positionierungen:
Start der Zeile: ^
Ende der Zeile $
zum Anfang des Puffers: 1G
zum Ende des Puffers: G
Visual:
Blockweiser Modus: ^V
Alte Selektion wiederherholen: gv
Steuerkommandos: (durch Cursortasten ersetzbar)
zurück (links): h
vorwärts (rechts): l
nächstes (herunter): j
vorheriges (hoch): k
eine Seite vorwärts scrollen: ^F
1/2 Seiten vorwärts scrollen: ^D
eine Zeile vorwärts scrollen: ^E
eine Seite rückwärts scrollen: ^B
1/2 Seiten rückwärts scrollen: ^U
eine Zeile rückwärts scrollen: ^Y
löschen:
unter Cursor löschen: x
löschen bis zum Zeilenende: D
inkrementelle Suche vorwärtS:
inkrementelle Suche Rückwärts:
suchen:
vorwärts suchen: /
Rückwärts suchen: ?
inkr. Suche nach reg. Ausd.:
inkr. Suche rückw. n. reg. Ausd.
suche nach regulären Ausdruck: /
suche rückw. nach reg. Ausd.: ?
rückgängig: u
nochmals tun (redo): ^R
Markierungen:
markiere die Cursorposition: m{a-zA-Z}
wechseln der Markierung und Pos.
springe zur Mark. in akt. Datei:'{a-z}
springe zur Mark. in jeder Datei'{A-Z}
Bereich kopieren: {visual}y
Bereich entfernen: {visual}d
Bereich einfügen:
einfügen des gelöschten Textes: p
in Großbuchstaben umwandeln: {visual}U
in Kleinbuchstaben umwandeln: {visual}u
einfügen spezieller Zeichen: stroke
^V decimal/keystroke
Regular Expressions:
ersetzen regulärer Ausdrücke: :%s/aaa/bbb/g
vor Ersetzen nachfragen: :%s/aaa/bbb/gc
Zeilen mit matches löschen: :g/aaa/ d
leere Zeilen löschen: :g/^$/ d
Dateien:
Datei öffnen: :e file
beenden: :wq /:q! /:x
Datei einlesen: :r file
Datei sichern: :w
alle Puffer speichern: :wa
speichern unter: :w file
nach Puffer fragen:
Puffer anzeigen: :buffers
Read-only Flag wechseln: :set ro
nach Puffer fragen und löschen:
vertikal aufteilen: :split
horizontal aufteilen: :vsplit (ver. 6)
in anderes Fenster wechseln: ^W p
entfernen dieses Fensters: :q
Programmieren:
indent, einrücken (siehe unten) =
make starten: :make Makefile
Fehlerkonsole: :copen
Nächster Fehler: :cn
Voriger Fehler: :cp
Fehlermeldungen überprüfen: :echo errmsg
Shell starten und aufzeichnen: :!script -a tmp
Shell starten: :sh
Kommando starten: :!cmd
Kommando starten und einfügen: :r!cmd
Filter starten: {visual}:w Datei
Filter starten und einfügen: {visual}:!Filter
Optionen:
Option anzeigen: :se[t] {Option}?
Option auf Standard zurücksetzen:se[t] {Option}&
boolsche Option zurücksetzen: :se[t] no{Option}
boolsche Option ändern: :se[t] inv{Option}
Textumbruch bei Spalte 72: :se tw=72
keinen Zeilenumbruch: :se tw=0
automatische Einrückung: :se ai
Tabulatoren expandieren: :se et
Kommentar angeben (E-Mail): :se comments=n:>,n:\|
Ex-commandos speichen und laden
cmd-window :
load a file :r
start an ex command
C:
Öffne #include datei gf
(:set path=include,something)
Selten benötigt:
Reindent (Neu einrücken) gg=G
für alle Buffer -||- :bufdo normal gg=G
Ant als make verwenden: :set makeprg=ant\ -emacs
cmake out of tree build: :set makeprg=make\ --no-print-directory\ -C\ ../build
Skripte (meine vimrc notwendig):
Über mehrere Zeilen suchen :S hallo welt
überlesen von beliebiges :S! hallo welt
vim-latex (see http://vim-latex.sourceforge.net/documentation/latex-suite/):
generate any environment F5
generate enumeration EEN
generate description list EDE
create greek letters `
insert \word{}<++> F7
Very useful for symbols is http://detexify.kirelabs.org/classify.html