Ich verwende org-mode
in Emacs
, um meine Entwicklungsaktivitäten zu dokumentieren. Eine der Aufgaben, die ich kontinuierlich von Hand erledigen muss, ist die Beschreibung von Codebereichen. Emacs
hat eine sehr schöne Lesezeichenliste : Erstelle ein Lesezeichen mit STRG - x r m , listet sie mit CTRL <-kb> x r auf > l . Das ist sehr nützlich, aber ist nicht ganz das, was ich brauche.
Der Org-Modus hat das Konzept der Verknüpfung, und der Befehl org-store-link
zeichnet eine Verknüpfung zur aktuellen Position in jeder Datei auf, die in die org-Datei eingefügt werden kann. Das Problem damit ist zweifach:
file/search
gespeichert, was ich nicht will. Ich muss das Lesezeichen in Textform haben, damit ich es kopieren und in den Organisationsmodus einfügen kann, beende es bei Bedarf mit einem einfachen Format wie diesem:
%Vor%Und das muss von der aktuellen Punktposition erhalten werden. Der Workflow wäre so einfach wie:
position-to-kill-ring
(Ich würde dies an eine Tastenkombination binden) org-mode
-Puffer. Leider ist mein lisp
nicht existent, also weiß ich nicht wie ich das machen soll. Gibt es eine einfache Lösung für mein Problem?
Sie möchten die org-create-file-search-functions
und org-execute-file-search-functions
Haken verwenden.
Wenn Sie beispielsweise die Suche benötigen, die Sie für Textmodusdateien beschreiben, verwenden Sie Folgendes:
%Vor% Dann macht M-x org-store-link RET
das Richtige (speichert eine Zeilennummer als Suchzeichenfolge) und Cc Co (dh M-x org-open-at-point RET
) öffnet die Datei und geht zu dieser Zeilennummer.
Sie können natürlich nach anderen Modi und / oder Bedingungen suchen.
Ein elisp Anfänger selbst habe ich davon als eine gute Übung et voila:
Bearbeiten: Rewrote es mit dem Format methode, aber ich denke immer noch nicht in den Kill-Ring zu speichern ist weniger aufdringlich in meinem Workflow (weiß nicht, über Sie). Auch ich habe die Fähigkeit hinzugefügt, Spaltenposition hinzuzufügen.
%Vor%Nicht ausführlich getestet, aber für mich gearbeitet. Klicken Sie einfach auf speichern-file-and-line oder speichern-datei-zeile-und-col , um den aktuellen Speicherort und Datei einfügen-Referenz zu speichern um den gespeicherten Wert an Punkt einzufügen.