Wer sich schon einmal etwas näher mit Vim befasst hat, wird das Hilfesystem kennen. Man kann sich zu jedem Befehl und jeder Option eine Hilfeseite in einem horizontalen Splitscreen anzeigen lassen, indem man im Kommandomodus
:h befehlsnameeingibt. In der Hilfe gibt es dann auch Verweise um auf weiterführende Informationen zu gelangen. Man kann diesen “Links” folgen indem man mit dem Cursor auf den Verweis navigiert und Strg+] (Strg+AltGr+9) drückt. Mit Strg+t springt man wieder zurück.
Eine praktische Möglichkeit seine Notizen zu verwalten ist es nun, dafür eine eigenene Hilfeseite anzulegen. Das hört sich komplizierter an als es ist. Man legt eine Datei im Ordner ~/.vim/doc/ an, deren letze Zeile so aussieht:
" vim: filetype=help modifiable noreadonlyDurch den filetype-Befehl weiß Vim, dass es eine Hilfedatei ist. modifiable und noreadonly müssen gesetzt sein, damit man die Datei auch editieren kann (da dies für Hilfedateien per Default nicht möglich ist). Natürlich kann man auch noch weitere Optionen und Einstellungen vornehmen. Ich habe bei mir noch einige Optionen für Faltungen hinzugefügt:
" vim: filetype=help foldmethod=marker foldmarker={{{,}}} foldlevel=0 modifiable noreadonly commentstring=\ %sMan kann (wenn man möchte) statt der Datei selbst auch einen symbolischen Link im Verzeichnis ~/.vim/doc/ platzieren, der auf die Notizen-Datei zeigt, wodurch Notizen und echte Hilfedateien etwas besser getrennt sind.
Nun braucht man noch Tags (die Ziele der Verweise) in der Datei. Diese werden von Sternchen umschlossen (z.B. *tag*). Die Verweise auf die Tags werden durch senkrechte Striche (Pipes) markiert (z.B. |tag|). Von |tag| kann man also mittels Strg+] auf die Textstelle gelangen, wo *tag* steht.
Hier mal eine kleine Beispieldatei:
Meine Notizen *znotizen*
Telefonliste *zphone* {{{
mom: 555-676767-333
dad: 555-767676-222
work: 555-121212-999
}}}
Vim Shortcuts *zvim* {{{
mx markieren mit x, siehe |mark|
'x springe zu Markierung x
yy kopiere Zeile
}}}
Hier ein Link zur Telefonliste: |zphone|
" vim: filetype=help foldmethod=marker foldmarker={{{,}}} foldlevel=0 modifiable noreadonly commentstring=\ %sWenn man neue Tags eingefügt hat, muss man sie mit dem Befehl :helptags ~/.vim/doc/ bekannt machen. Nun kann mit mit :h znotizen die Datei öffnen wie eine Hilfeseite. Genauso kann man mit :h zphone die Hilfeseite öffnen, wobei man direkt bei den Telefonnummern landet. Es reicht nur einen Teil des Tags einzugeben, wenn dieser eindeutig ist, z.B. kann man :h zno eingeben statt den ganzen Tag :h znotizen auszuschreiben.
Um bei jedem Speichern der Notizen das helptags-Kommando automatisch auszuführen wird das folgende Autokommando empfohlen:
au BufWritePost ~/.vim/doc/* helptags ~/.vim/doc
Leider funktioniert es bei mir nicht, weswegen ich mir ein Mapping dafür definiert habe:
map <leader>ut :helptags ~/.vim/doc<CR>
Durch dieses Mapping kann man mittels \ut seine Tags aktualisieren (ut für update tags)
Es gibt auch Plugins, die einen bei der Verwaltung seiner Notizen im Hilfesystem unterstützen (siehe Links)
Links
- http://vim.wikia.com/wiki/Add_your_note_files_to_Vim_help – VimTip zum Thema
- http://vim.wikia.com/wiki/VimTip482 – ein weiterer VimTip dazu
- http://www.vim.org/scripts/script.php?script_id=828 – VimNotes Plugin zur Unterstützung bei der Verwaltung von Notizen mit dem Hilfesystem
- http://www.vim.org/scripts/script.php?script_id=293 – Universal Text Linking Plugin um alle Arten von Links in Vim einzufügen und aus Vim heraus aufzurufen
Folgende Beiträge könnten Dich auch interessieren:
Schlagworte: Hilfe, Notizen, Vim








[...] Notizen mit dem Hilfesystem von Vim verwalten Auch nicht schlecht … var flattr_wp_ver = '0.9.11'; var flattr_uid = '20870'; var flattr_url = 'http://www.kreiseder.at/2010/07/random-links-232/'; var flattr_btn = 'compact'; var flattr_hide = 0; var flattr_lng = 'de_DE'; var flattr_cat = 'text'; var flattr_tle = 'Random Links #232'; var flattr_dsc = 'open multiple files in tabs, vim 7 can do that -p !!!! GitHub Hits One Million Hosted Projects since February 2008 Notizen mit dem Hilfesystem von Vim verwalten Auch nicht schlecht …'; var flattr_tag = 'git,github,vim'; [...]
Hi zimon,
interessante Sache.
Könnte sich als recht nützlich erweisen.
Wegen des nicht funktionierenden Auto-Commands: Ich hab im GitHub gesehen, dass du dort deine dotfiles eingestellt hast. Also hast du die ja auch irgendwo gesammelt, zum Beispiel das Git-Repo in ~/git/dotfiles/ und dann das darin befindliche .vim/ nach ~/.vim/ verlinkt, schätze ich mal? Falls ja, probier mal den “echten” Pfad in der .vimrc zu nennen. Also zum Beispiel
au BufWritePost ~/git/dotfiles/.vim/doc/* helptags ~/.vim/doc
statt
au BufWritePost ~/.vim/doc/* helptags ~/.vim/doc
Dann hat’s bei mir geklappt.
Cheers!
Hallo Vain
die dotfiles bei github aktualisiere ich immer mittels vimdiff, da ich in meiner aktuellen ~/.vimrc einige Variablen mit sensiblen Informationen habe. Von daher sind ~/.vimrc und ~/.vim/ echt und keine Symlinks. Allerdings habe ich einen Symlink in ~/.vim/doc/notizen.txt zu der echten Datei. Ich habe schon alles mögliche ausprobiert, wie z.B.
au BufWritePost ~/pfad/zur/echten/datei.txt helptags ~/.vim/doc
und ähnliches.
Hat alles nix gebracht.
Viele Grüße
zimon