On Thu, Apr 29, 2010 at 10:47 AM, Nathan Neff <nathan.n...@gmail.com> wrote: > 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>))) >
I've made some progress on this, and I've defined a table like this: #+tblname:navigation-shortcuts | Foo Org File | <f6 v> | 733BD03F-0938-432F-B59A-BE235A2DE7E2 | | Bar Org File | <f6 b> | 123456 | I would like to map a function that iterates over the items in the table, and maps the keyboard string in column 2 to the ID in column 3. I tried something like this, but all I get is "Wrong type argument: integer-or-marker-p, (quote (second shortcut-def))" #+srcname: map-nav(navigation-shortcuts=navigation-shortcuts) #+begin_src emacs-lisp (defun map-navigation-shortcuts (shortcut-def) (global-set-key (kbd (second shortcut-def)) (lambda () "Goto Foo Org File" (interactive) (org-id-goto '(third shortcut-def))))) (mapcar #'map-navigation-shortcuts navigation-shortcuts) #+end_src Can anyone point out where I'm going wrong? Thanks, --Nate _______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode