Erstellen von Tags zwischen Markdown-Dateien ähnlich: h


7

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 :hardwayTag zu transportieren, das sich an einer anderen Stelle befindet. Im Idealfall kann dies sogar auftreten, wenn :hardwayes 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.mdDatei 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.


Werfen Sie einen Blick auf ': h write-help`
Cyber ​​Oliveira

Entschuldigung: h Hilfe beim Schreiben
Cyber ​​Oliveira

@LeonardoConstantino Wenn ich mich nicht irre, würde dies bedeuten, meine Aufgabenliste buchstäblich in das Hilfesystem von vim zu integrieren. Ich bin nicht daran interessiert zu tippen :h hardwayund zu meinem Eintrag weitergeleitet zu werden, bei hardwaydem es sich tatsächlich um eine Hilfedatei handelt. Oder verstehe ich Ihren Vorschlag falsch? Vergib mir, ich bin nicht ganz sicher.
Davidlowryduda

Antworten:


4

Ich habe so etwas mit Exuberant Ctags und einer .ctagsDatei im Verzeichnis implementiert (sollte auch .ctagsim 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:

--langdef=markdown
--langmap=markdown:.md
--regex-markdown=/^#+\s*([^#]*)\s*#+$/\1/h,heading,headings/

Führen Sie dann ctags aus.

ctags -R

Und Sie sollten eine Datei mit dem Namen erhalten, tagsdie Zuordnungen für alle Markdown-Header im ### HEADER ###Format enthält.

Sehen Sie :help tagsfür weitere Informationen über Tags navigieren (zB wenn es mehrere Treffer für einen Tag).



1

VIMs :findund gfsind ziemlich fantastisch, ich benutze sie die ganze Zeit, sie verlassen sich auf die vim-Einstellung pathund suchen dort nach Dateien. VIM bietet auch eine zusätzliche Einstellung, bei suffixesaddder 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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.