Konfigurationsdatei¶
In der Konfigurationsdatei ~/.vimrc können zahlreiche Optionen wie z.B. Zeilennummerierungen, Markierungen von Suchergebnissen, automatische Backups etc. an- oder ausgeschaltet werden. Gleichzeitig können individuelle Tastenkombinationen für beliebige Funktionen oder Funktionsketten festgelegt werden.
Meine persönliche Konfigurationsdatei sieht etwa so aus:
Diese Datei nutzt als Farbschema die Datei gruwi.vim
.
die in das Verzeichnis ~/.vim/colors
kopiert werden sollte. Dies ist
notwendig, wenn man die obige Konfigurationsdatei nutzen möchte und beim Starten
von Vim keine Fehlermeldung erhalten mag. Zudem wird bei der obigen
Beispiel-Konfigurationsdatei vim-plug zur Verwaltung
zusätzlicher Plugins verwendet; auch dieses einfach zu installierende Tool
sollte also bereits vorhanden sein.
Mappings¶
Mappings ermöglichen es, für beliebige Anweisungen selbst gewählte Tastenkombinationen zu vergeben.
Je nach Modus, in welchem die Mappings gelten sollen, wird zwischen map,
imap,
und vmap
unterschieden:
nmap Kürzel Befehl |
Kürzel für den Normal-Modus |
cmap Kürzel Befehl |
Kürzel für den Kommando-Modus |
imap Kürzel Befehl |
Kürzel für den Einfüge-Modus |
vmap Kürzel Befehl |
Kürzel für den Visuell-Modus |
Mappings können auch über den Kommandozeilen-Modus gesetzt werden, bleiben so allerdings nur bis zum Beenden von Vim gespeichert. Für häufig genutzte Tastenkombinationen empfiehlt es sich daher, diese in der Konfigurationsdatei festzuhalten.
Tipp: Eine Übersicht darüber, welche Mappings vergeben sind, kann man mit
:map
bekommen. Um die Auswahl einzuschränken, kann dahinter der Beginn eines
Mappings stehen - z.B. listet :map \b
alle Mappings auf, die mit \b
beginnen. In entsprechender Weise zeit :imap \b
alle Mappings im
Einfügemodus an, die mit \b
beginnen.
Folgende Sonderzeichen werden in Mappings häufig verwendet, wobei die Groß- und Kleinschreibung keine Rolle spielt:
<Leader> |
\ (Backslash) |
<Return> oder <CR> |
Enter -Taste (Carriage Return) |
<Esc> |
Escape -Taste |
<Bar> |
| (Pipe-Symbol) |
<Space> |
Leerzeichen beziehungsweise Leertaste |
<Tab> |
Tabulator |
<C-A> |
Ctrl A |
Rechtschreibprüfung¶
Seit der Version 7.0 bietet Vim von sich aus eine integrierte Rechtschreibprüfung. Sie wird allgemein durch ein Eingabe folgender Art in der Vim-Kommandozeile aktiviert:
:set spell spelllang=en_us
Bei aktiver Rechtschreibprüfung werden Wörter als „falsch“ angesehen, wenn es
dazu keinen Eintrag in der entsprechenden Spell-File gibt. Als Name der
Sprache wird allgemein die Form language_region
verwendet, da sich
beispielsweise die in Großbritannien übliche Rechtschreibung en_en
von der
amerikanischen Rechtschreibung en_us
unterscheidet. Für die deutschsprachige
Rechtschreibung gibt es neben de_de
, de_at
(Österreich) und de_ch
(Schweiz) auch de_19
und de_20
für die alte beziehungsweise neue
deutsche Rechtschreibung.
Wird eine Sprachdatei bei Aktivierung mittels :set spell
nicht gefunden, so
wird automatisch ein vorinstalliertes Plugin namens spellfile.vim
gestartet,
das es dem Benutzer anbietet, die entsprechende Sprachdatei automatisch
herunterzuladen und zu aktivieren. Falsch geschriebene Wörter werden dann (je
nach Farbschema) durch eine rote Hintergrundfarbe gekennzeichnet.
Mit :set nospell
kann die Rechtschreibprüfung wieder abgeschaltet werden.
Noch einfacher wird das Aktivieren und Deaktivieren der Rechtschreibung durch
die Aufnahme der folgenden Funktion (nach einer Vorlage aus dem Vim-Wiki) in der
Konfigurationsdatei ~/.vimrc
:
" Rechtschreibprüfung mit <F9> an- und ausschalten:
let g:myLang = 1
let g:myLangList = ['nospell', 'de_20,en_us']
function! MySpellLang()
if g:myLang == 0 | setlocal nospell | endif
if g:myLang == 1 | let &l:spelllang = g:myLangList[g:myLang] | setlocal spell | endif
echomsg ''
let g:myLang = g:myLang + 1
if g:myLang >= len(g:myLangList) | let g:myLang = 0 | endif
endfunction
nmap <F9> :call MySpellLang()<CR>
imap <F9> <C-o>:call MySpellLang()<CR>"
Mit dieser Funktion kann durch Drücken von <F9>
die Rechtschreibprüfung an-
und ausgeschaltet werden. Durch die Auswahl 'de_20,en_us'
an Sprachdateien
sind sowohl die neue deutsche als auch die US-amerikanische Rechtschreibung
aktiv; ein Wort wird somit nur dann als „falsch“ durch ein Highlighting
hervorgehoben, wenn es in keiner der beiden Sprachdateien vorkommt.
Bei aktiver Rechtschreibprüfung können unter anderem die folgenden Tastenkombinationen verwendet werden:
]s |
Gehe zum nächsten falschen Wort |
[s |
Gehe zum vorherigen falschen Wort |
zg |
Füge das Wort unter dem Cursor dem aktuellen Wörterbuch hinzu (Variable:
spellfile ) |
zG |
Speichere das Wort unter dem Cursor in einer internen Wortliste; diese wird nach dem Schließen von Vim gelöscht |
zw |
Speichere das Wort unter dem Cursor als „falsch“ in der aktuellen
Wörterbuchdatei (Variable: spellfile ) |
zW |
Speichere das Wort unter dem Cursor als „falsch“ in der internen Wortliste |
zug , zuw , zuG , zuW |
Lösche das Wort unter dem Cursor aus der entsprechenden Liste |
Eine ausführliche Hilfe erhält man mittels :h spell.txt
.
Modelines¶
Auch innerhalb einer Text-Datei können Konfigurationen für Vim festgelegt werden. Hierzu fügt man in die letzte Zeile der Textdatei eine sogenannte „Modeline“ ein. Diese hat etwa folgenden Aufbau:
# vim: set ft=rst textwidth=80:
Alternativ können das Wort set
und der Doppelpunkt am Ende auch
weggelassen werden:
# vim: ft=rst textwidth=80
Das erste Zeichen einer Modeline ist stets ein Kommentar-Zeichen (abhängig von
der jweiligen „Sprache“ beziehungsweise dem jeweiligen Datei-Typ). Zwischen dem
Kommentar-Zeichen und vim:
muss ein Leerzeichen stehen. Anschließend
können beliebige Optionen gesetzt werden – die Standard-Optionen der
Konfigurationsdatei ~/.vimrc
werden dabei gegebenenfalls überschrieben.
Damit Modelines überhaupt erkannt werden, müssen folgende Optionen (am besten in
der ~/.vimrc
) gesetzt sein:
set modeline
set modelines=5
Durch die erste Option werden Modelines allgemein aktiviert, die zweite Option legt fest, wie viele der letzten beziehungsweise ersten Zeilen einer Datei potentiell als Modeline angesehen werden (sofern die Syntax korrekt ist). Weitere Infos über Vim-Modelines gibt es beispielsweise hier