Eines der ersten Dinge, die Sie in vimtutor lernen, ist das Folgen von Links in den vim-Hilfedateien mit Ctrl- ]. Ich bin daran interessiert, mein eigenes Tag- / Verknüpfungssystem in beliebigen Dateien zu erstellen. Nehmen wir für diese Frage an, ich erstelle eine Art TODO-Liste in Markdown.
Angenommen, wir haben die folgende Minifile:
TODO
=====
1. Learn Vimscript the Hard Way |hardway|
(some other things, maybe)
Complete Learn Vimscript the Hard Way
------------------------------------- :hardway
(Some sort of details, etc.)
Dann wäre das Ziel, den Cursor auf den ersten zu setzen |hardway|
, etwas Ähnliches wie Ctrl- zu treffen ]und zu dem :hardway
Tag zu transportieren, das sich an einer anderen Stelle befindet. Im Idealfall kann dies sogar auftreten, wenn :hardway
es sich in einer anderen Datei befindet (aber möglicherweise im selben Verzeichnis).
Ich benutze derzeit eine Low-Tech-Alternative. Stattdessen |hardway|
hätte ich so etwas wie |hardway.md|
, damit ich gfauf das "Tag" und ge in die hardway.md
Datei genommen werden kann. Dies ist zwar überschaubar, aber ich denke, es sollte möglich (vielleicht sogar nicht schwer) sein, ein eigenes Tag-System für beliebige Dateitypen zu erstellen und zu verwalten.
quelle
:h hardway
und zu meinem Eintrag weitergeleitet zu werden, beihardway
dem es sich tatsächlich um eine Hilfedatei handelt. Oder verstehe ich Ihren Vorschlag falsch? Vergib mir, ich bin nicht ganz sicher.Antworten:
Ich habe so etwas mit Exuberant Ctags und einer
.ctags
Datei im Verzeichnis implementiert (sollte auch.ctags
im Home-Verzeichnis funktionieren ).Sie können sich über die Verwendung von Ctags mit beliebigem regulären Ausdruck informieren, aber das Wesentliche ist, dass Sie dasselbe verwenden können Ctrl-
]
um zu diesen Tags zu gelangen.Der Inhalt meiner
.ctags
:Führen Sie dann ctags aus.
Und Sie sollten eine Datei mit dem Namen erhalten,
tags
die Zuordnungen für alle Markdown-Header im### HEADER ###
Format enthält.Sehen Sie
:help tags
für weitere Informationen über Tags navigieren (zB wenn es mehrere Treffer für einen Tag).quelle
VIMs
:find
undgf
sind ziemlich fantastisch, ich benutze sie die ganze Zeit, sie verlassen sich auf die vim-Einstellungpath
und suchen dort nach Dateien. VIM bietet auch eine zusätzliche Einstellung, beisuffixesadd
der es sich um eine Liste von Suffixen handelt, mit denen versucht wird, die Dateinamen zu ergänzen und nachzuschlagen. zB)set suffixesadd+='.md'
um mit Markdown-Dateien zu arbeiten.quelle