Um interne Org-ID-Links im Organisationsmodus einzufügen, navigiere ich zu einer Überschrift oder rufe sie in der Agenda-Ansicht auf (Ca s Überschriften-Testsuche RET), speichere den Link mit Cl (Org-Store-Link) und gehe zurück zu wo Ich möchte den Link einfügen und dann den Link mit Cc Cl (org-insert-link) einfügen.
Stattdessen würde ich lieber einen Schlüssel zuordnen, mit dem ich am aktuellen Punkt einen Link einfügen kann, indem ich die Tab-Vervollständigung ähnlich wie bei org-refile (Cc Cw) verwende. Das beabsichtigte Ergebnis wäre ein interner Link zur Organisations-ID in der Form:
[[id:d7534b2f-c221-4dea-8566-d5ce3e4e1b78][Example Link]]
Wenn Sie org-id.el durchsehen, scheint es, als ob org-id-get-with-Outline-Path-Completion für diesen Zweck entwickelt wurde. Ich habe es versucht:
(global-set-key "\C-ci" (lambda () (interactive) (org-id-get-with-outline-path-completion)))
aber es hat nicht wie beabsichtigt funktioniert.
Ich habe Folgendes in meiner init.el-Datei:
;; Use global IDs
(require 'org-id)
(setq org-id-link-to-org-use-id t)
;; Update ID file .org-id-locations on startup
(org-id-update-id-locations)
;; Refile options
(setq org-refile-targets (quote ((nil :maxlevel . 9) (org-agenda-files :maxlevel . 9))))
(setq org-refile-use-outline-path 'file)
(setq org-outline-path-complete-in-steps t)
(setq org-refile-allow-creating-parent-nodes t)
org-id-get-with outline-path-completion
. Ist das das Problem?Antworten:
Ich stöberte in der Quelle im Organisationsmodus herum und fand eine minimal dokumentierte Funktion. Wenn Sie eine Funktion definieren
org-TYPE-complete-link
, wird diese verwendet, um Links vom Typ zu vervollständigenTYPE
. Wir müssen also nur eine Funktion definierenorg-id-complete-link
, die unsere Vervollständigung ausführt und den Link zurückgibt (einschließlich des Präfixes "id:").Fügen Sie den Link wie gewohnt ein (mit
C-c C-l
), wählen Sie "id:" als Typ und die Vervollständigungsfunktion wird ausgelöst.BEARBEITEN: Ab
org-mode
Version 9.0 funktioniert das Definieren der Funktion wie oben nicht mehr ( ref ). Stattdessen müssen Sie die Vervollständigungsfunktion zurorg-link-parameters
Verwendung hinzufügenquelle
TARGETS may be a setting for ‘org-refile-targets’ to define eligible headlines.
org-link-set-parameters
wenn Sieorg-mode
9 verwenden. Das zusätzliche Argument,org-id-get-with-outline-path-completion
mit dem Sie die Überschriften, ausorg-refile-targets
denen Sie ausgewählt haben, genau wie beim erneuten Abrufen einschränken können. In der Hilfe finden Sie alles, aber eine übliche Einstellung ist((org-agenda-files :maxlevel . 3) (nil :maxlevel . 2))
die Beschränkung auf 3 Ebenen in Agenda-Dateien und 2 im aktuellen Puffer.