Wie man Vim dazu bringt, DokuWiki-Links zu folgen

799
Daeden

Es macht mir Spaß, CTags zu verwenden, um schnell mit STRG-] und STRG-T zu einer Datei zu springen. Ich möchte etwas Ähnliches beim Bearbeiten von DokuWiki-Dateien haben. In anderen Worten habe ich etwas in der Datei 'start.txt':

[[link]] 

Ich möchte zu 'link.txt' innerhalb desselben Verzeichnisses springen wie 'start.txt'.

Mein Gedanke war, "goto file" zu verwenden, aber es würde eine implizite Dateierweiterung und einen Basispfad erfordern. Im Idealfall möchte ich die 'Tag'-Funktion in Vim verwenden, auf die hier verwiesen wird: http://vim.wikia.com/wiki/Browsing_programs_with_tags

Kennt jemand eine Möglichkeit, dies zu tun, oder ein Dienstprogramm, mit dem die erforderliche Tag-Datei erstellt wird?

2

1 Antwort auf die Frage

2
Ingo Karkat

Mein Gedanke war, "goto file" zu verwenden, aber es würde eine implizite Dateierweiterung und einen Basispfad erfordern.

Vim kümmert sich um all das:

:setlocal path=. :setlocal suffixesadd=.txt 

(Am besten fügen Sie diese Befehle in ein ~/.vim/ftplugin/DocuWiki.vimSkript ein.)

Alternativ benötigen Sie eine Möglichkeit, eine Tag-Datenbank für den Quellcode zu erstellen. Das Format ist einfach, siehe :help tags-file-format. Das standardmäßige Tags-Programm Exuberant Ctags kann mit regulären Ausdrücken ( --langmap, --regex) erweitert werden. Dies führt nur zu einer ungefähren Analyse für komplexe Sprachen, sollte aber ausreichen, um die DokuWiki-Links zu analysieren.

Genau das wollte ich. Vielen Dank. Daeden vor 11 Jahren 0