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
Die Jän 3 15:01:52 CET 2017
anybrowser.gif elektra.jpg fsfe-logo.png patent_button.gif valid-css.png valid-html401.png vim.gif