emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Insert org-id Link at Point via Outline Path Completion


From: Eric Abrahamsen
Subject: Re: [O] Insert org-id Link at Point via Outline Path Completion
Date: Fri, 31 Jul 2015 15:13:42 +0800
User-agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.0.50 (gnu/linux)

Xebar Saram <address@hidden> writes:

> i also have a similar workflow and would love to hear Dominic if you
> found a solution for this or if anyone on the list has other
> suggestions?

The function `org-refile-get-targets' is the standard way of producing a
list of all possible headings -- ostensibly to refile to, but you can do
anything you want with them.

If you want to restrict this to Org headings that already have ids
(though I'm not sure why you would), you can use the org-id-locations
hashtable.

I still think you'd have to use one of the above to pick a heading, then
go to the heading in a `save-excursion', call `org-store-link', then
back to your original location, and call `org-insert-link'. I don't
think there's any cleaner way of doing that...

Eric

> On Tue, May 12, 2015 at 10:57 PM, Dominic Surano <address@hidden>
> wrote:
>
>
>     Hello,
>
>     I use org-mode a lot like a wiki so links to other org-mode
>     headings are
>     very common. Currently, I navigate to the heading or pull it up in
>     an
>     agenda view, store the link with C-l, going back to where I want
>     to
>     insert the link, then insert the link with C-c C-l RET. This is a
>     bit
>     time consuming.
>
>     Instead, I would prefer to map a key that allows me to insert a
>     link at
>     the current point using tab completion similar to org-refile (C-c
>     C-w).
>     Looking through org-id.el, it seems like
>     org-id-get-with-outline-path
>     completion was designed for this purpose. I tried:
>
>     (global-set-key "\C-ci" (lambda () (interactive) (org-id-get-with
>     outline-path-completion)))
>
>     but it didn't work as intended. Anyone have any ideas?
>
>     Thanks!
>     -D
>
>     For reference, I have the following set in my configuration:
>
>     ;; 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)
>
>     ;; Targets include this file and any file contributing to the
>     agenda -
>     up to 9 levels deep
>     (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)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]