12

Org-mode keymapping defaults to using the arrow keys for commons functions. Has anyone sanely remapped their org-mode settings to entirely avoid arrow keys?

Please share.

12

Without remapping, you can already get by pretty well without arrow keys.

C-c C-x C-h in an Org buffer:

C-c C-x D       org-shiftmetadown
C-c C-x L       org-shiftmetaleft
C-c C-x R       org-shiftmetaright
C-c C-x U       org-shiftmetaup
C-c C-x d       org-metadown
C-c C-x l       org-metaleft
C-c C-x m       org-meta-return
C-c C-x r       org-metaright
C-c C-x u       org-metaup

As mentioned in the comments, whether or not these keys are set depends on your environment (for example, if you are using Emacs in the terminal or as a daemon). To make sure these always show up, you can enable org-use-extra-keys. (This needs to be done before Org is loaded.)

  • 1
    Those bindings don't appear in my org buffer. When I describe-mode, I see: <M-S-down> org-shiftmetadown <M-S-left> org-shiftmetaleft ... – Jeff Bauer Dec 14 '14 at 13:50
  • 2
    These are defined by org-use-extra-keys which is on be default for example in a terminal. Customize that option to get this also in a windowed emacs. Cf. emacs.stackexchange.com/a/3991/2710 – Andrew Swann Dec 14 '14 at 15:40
  • @AndrewSwann Thanks for pointing that out. – Kyle Meyer Dec 14 '14 at 16:29
3

Yay, finally a moment to shamelessly advertise http://abo-abo.github.io/worf/README.html.

h, j, k and l are arrows.

c toggles change mode:

(worf-defverb
 "change"
 '(("j" org-metadown)
   ("k" org-metaup)
   ("h" org-metaleft)
   ("l" org-metaright)
   ("t" org-set-tags :disable)
   ("n" worf-change-name :disable :break)
   ("a" org-meta-return :disable :break)))

cf enters change tree mode:

(worf-defverb
 "change-tree"
 '(("j" org-shiftmetadown)
   ("k" org-shiftmetaup)
   ("h" org-shiftmetaleft)
   ("l" org-shiftmetaright)))

cs enters change shift mode:

(worf-defverb
 "change-shift"
 '(("j" org-shiftdown)
   ("k" org-shiftup)
   ("h" org-shiftleft)
   ("l" org-shiftright)))

cr enters change shift-control mode:

(worf-defverb
 "change-shiftcontrol"
 '(("j" org-shiftcontroldown)
   ("k" org-shiftcontrolup)
   ("h" org-shiftcontrolleft)
   ("l" org-shiftcontrolright)))

q will quit any mode and make hjkl arrows again.

I'm still experimenting with the package, so these bindings might change in the future. If you want to try it, it's in MELPA. And as long as you're trying, check out g - it's the best feature of the package.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.