Aaron Fischer Ingenieur, Vater, Heimwerker, Problemlöser

13 Oktober, 2009

Help!

TL;DR:

Oft unterschätzt wird die gigantische integrierte Hilfe in Vim. Sie bietet zu allen erdenklichen Situationen eine Hilfestellung. Vim ist komplett dokumentiert und das sollte man sich zu Nutze machen.

Die Hilfe erreicht man über F1 oder über den Befehl :help. Optional kann noch ein Begriff, ein Suchwort oder eine Konfigurationsoption mitgegeben werden. Auch hier gibt es Tab-Vervollständigung.

Die Hilfe selbst ist ähnlich wie eine Webseite aufgebaut. Es gibt Seiten die miteinander verlinkt sind. Innerhalb der Seiten gibt es Überschriften (auch subject genannt), die über Anker angesprochen werden können. Darüber hinaus gibt es noch Optionen, die auch verlinkt sind.

Einen Link steuert man mit der Kombination STRG + ] an. Zurück springt man mit STRG + t. Alternativ kann man auch die Maus (Doppelklick) dazu nutzen, macht aber weniger Sinn. Da auf einer deutschen Tastatur das ] etwas umständlich zu erreichen ist, können wir uns mit ein paar Mappings das Leben etwas vereinfachen.

nmap <<buffer>> <<CR>> <<C-]>>
nmap <<buffer>> <<BS>> <<C-T>>

nmap <<buffer>> l /\\|\\S\\+\\|<<CR>>
nmap <<buffer>> L ?\\|\\S\\+\\|<<CR>>

Hier haben wir gleich vier neue Tastaturkürzel definiert. Der Reihe nach; der erste bindet CR an C-]. CR steht hier für ENTER, das C-] steht für CTRL (Also STRG) + ]. Wir können also mit der Return-Taste einen Link betätigen. Ähnliches machen wir mit BS (was für Backspace steht, also die Rücklöschtaste). Die nächsten zwei Mappings binden l(klein L) und L an ein Suchmuster, gefolgt von der Returntaste. Dies ist gedacht um zum vorherigen bzw. nächsten Link zu springen. (Links sind immer mit dem Pipe-Symbol umrandet).

Die vier mappings haben allerdings eine Sonderheit. Das Wort buffer mit den spitzen Klammern. Damit sagt man Vim, er soll diese Einstellung nur für den aktuellen Buffer (Fenster) verwenden. Dies ergibt dahingehend Sinn, weil man doch gerne die Rücklöschtaste oder die Entertaste beim normalen Editieren wie gewohnt nutzen will.

Damit man diese vier mappings nicht jedes Mal frisch eingeben muss, kann man sie in einer Datei mit dem namen help.vim im Verzeichnis $VIMHOME/ftplugin/ ablegen. Dadurch, dass die Datei help.vim heißt, wird sie jedes Mal geladen, wenn eine Datei mit dem Filetype help geladen wird. Dies funktioniert allerdings nur, wenn Vim auch versucht, den Dateityp auszulesen. Es empfiehlt sich daher (wenn nicht schon vorhanden) die folgende Zeile in seine .vimrc mit aufzunehmen.

filetype plugin on

Zum Schluss noch ein paar lustige Vim Hilfeseiten:

Die hier vorgestellten Mappings stammen übrigens im Orginal aus dem Buch Hacking Vim und wurden von mir etwas abgeändert.

Notiz auf dem CheatSheet: