# VIM HowTo

Hier ein kleines HowTo mit Tipps und Tricks zu vim („vi improved“). Unten findet Ihr auch meine aktuelle vimrc.local

#### Mehrere Dateien editieren / Navigation

<div id="bkmrk-befehl-was-passiert-"><div><table class="inline"><thead><tr class="row0"><th class="col0">Befehl</th><th class="col1">was passiert</th></tr></thead><tbody><tr class="row1"><td class="col0">:n</td><td class="col1">nächste Datei öffnen</td></tr><tr class="row2"><td class="col0">STRG-^ oder :e#</td><td class="col1">vorherige Datei öffnen (== „alternate file“)</td></tr></tbody></table>

</div></div>#### Suchen

<div id="bkmrk-befehl-was-passiert--0"><div><table class="inline"><thead><tr class="row0"><th class="col0">Befehl</th><th class="col1">was passiert</th></tr></thead><tbody><tr class="row1"><td class="col0">/muster</td><td class="col1">es wird vorwärts nach dem Begriff „muster“ gesucht</td></tr><tr class="row2"><td class="col0">/muster/e</td><td class="col1">sucht vorwärts, Cursor springt ans Ende des Musters</td></tr><tr class="row3"><td class="col0">?muster</td><td class="col1">es wird rückwärts gesucht</td></tr><tr class="row4"><td class="col0">n</td><td class="col1">letzte Suche wiederholen</td></tr></tbody></table>

</div></div>#### Ersetzen

die Suche unterstützt verschiedene Modifier, die werden am Ende gesetzt:

<div id="bkmrk-c-nachfrage-vorm-ers"><div><table class="inline"><tbody><tr class="row0"><td class="col0">c</td><td class="col1">Nachfrage vorm Ersetzen</td></tr><tr class="row1"><td class="col0">g</td><td class="col1">ganze Zeile bearbeiten</td></tr><tr class="row2"><td class="col0">i</td><td class="col1">Groß-/Kleinschreibung beachten</td></tr><tr class="row3"><td class="col0">I</td><td class="col1">Groß-/Kleinschreibung nicht beachten</td></tr></tbody></table>

</div><div><table class="inline"><thead><tr class="row0"><th class="col0">Befehl</th><th class="col1">was passiert</th></tr></thead><tbody><tr class="row1"><td class="col0">:s/old/new/</td><td class="col1">ersetzt old durch new beim ersten Auftreten in der aktuellen Zeile</td></tr><tr class="row2"><td class="col0">:s/old/new/g</td><td class="col1">ersetzt old durch new in der kompletten Zeile</td></tr><tr class="row3"><td class="col0">:s/old/&amp;\_suffix/g</td><td class="col1">ersetzt old durch old\_suffix in der aktuellen Zeile</td></tr><tr class="row4"><td class="col0">:5,10s/old/new/g</td><td class="col1">ersetzt old durch new in Zeile 5 bis 10</td></tr><tr class="row5"><td class="col0">:%s/old/new/g</td><td class="col1">ersetzt old durch new im kompletten Dokument</td></tr><tr class="row6"><td class="col0">:s/^/text/</td><td class="col1">Text am Zeilenanfang einfügen</td></tr><tr class="row7"><td class="col0">:s/$/text/</td><td class="col1">Text am Zeilenende einfügen</td></tr></tbody></table>

</div></div>#### meine /etc/vim/vimrc.local

<div id="bkmrk-%22-%22-magenbrot-vimrc-">```
"
" magenbrot vimrc
"
" $Id: vimrc 125 2013-01-10 09:59:41Z magenbrot $
"

" Vim5 and later versions support syntax highlighting. Uncommenting the next
" line enables syntax highlighting by default.
syntax on

" If using a dark background within the editing area and syntax highlighting
" turn on this option as well
set background=dark

" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
  au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

" The following are commented out as they cause vim to behave a lot
" differently from regular Vi. They are highly recommended though.
set showcmd		" Show (partial) command in status line.
set ignorecase		" Do case insensitive matching
set showmatch		" Show matching brackets.
set smartcase		" Do smart case matching
set incsearch		" Incremental search
```

</div>