Hauptseite

Notizen mit dem Hilfesystem von Vim verwalten

23. Juli 2010 von zimon

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 befehlsname

eingibt. 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 noreadonly

Durch 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=\ %s

Man 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=\ %s

Wenn 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


Schlagworte: , ,



3 Kommentare zu „Notizen mit dem Hilfesystem von Vim verwalten“

  1. [...] 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'; [...]

  2. Vain sagt:

    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!

  3. zimon sagt:

    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

Kommentieren

Kommentarlinks könnten nofollow frei sein.


Bloggeramt.de frisch gebloggt Blogverzeichnis - Blog Verzeichnis bloggerei.de