emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nathan Neff <nathan.neff@gmail.com>
To: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Frequently used files/headings
Date: Thu, 29 Apr 2010 10:47:40 -0500	[thread overview]
Message-ID: <t2i211769421004290847pe2d31a48s96cc5a6fa4cdf65b@mail.gmail.com> (raw)

Currently, I'm using org-id-get-create to generate a unique ID
for headings that I frequently go to in org-mode.

* Foo
:PROPERTIES:
:ID: F3B14102-A66D-408C-8833-1F9CF7E5047C
:END:

Then, I copy the newly created ID to the kill-ring,
and paste it into a block like this:

(global-set-key (kbd "<f6> f") (lambda () "Goto Foo Org File"
    (interactive)
    (org-id-goto "F3B14102-A66D-408C-8833-1F9CF7E5047C")))

This will map F6-f to jump to Foo.

I know that there are many ways to navigate org-files, but using the
ID is great because it requires only two keystrokes.

This works pretty good, except I'd like to improve three things:

1)  I'd like to be able to see a menu of where I've mapped my shortcuts
2)  I'd like to simplify the creation of these IDs and shortcut keys.
3)  I have about 10 quick-keys now, so I have 30 lines of very similar code

I'm sensing an org-babel type approach where I could define an org-mode
table like this:

| Name | Key       | ID |
| Foo    | "<f6> f"  | 123456779 |

Then, I could loop through the table, and for each row, I could
run this code:

(global-set-key (kbd <COLUMN 2>) (lambda () <COLUMN 1>
    (interactive)
    (org-id-goto <COLUMN 3>)))

Before I do something like this, I'd like to know if anyone's done something
similar or if anyone wants to chime in.

Thanks!

--Nate

             reply	other threads:[~2010-04-29 15:47 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-29 15:47 Nathan Neff [this message]
2010-05-06  7:06 ` Frequently used files/headings Nathan Neff
2010-05-10 11:35   ` Štěpán Němec
2010-05-10 20:48     ` Nathan Neff
2010-05-10 21:08       ` Stephan Schmitt
2010-05-10 21:35         ` Štěpán Němec
2010-05-11 15:42           ` Nathan Neff

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=t2i211769421004290847pe2d31a48s96cc5a6fa4cdf65b@mail.gmail.com \
    --to=nathan.neff@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).