Xebar Saram <zelt...@gmail.com> 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 <sk8ing...@gmail.com>
> 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