14

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.

2 Answers 2

13

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.)

3
  • 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 ... Dec 14, 2014 at 13:50
  • 3
    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 Dec 14, 2014 at 15:40
  • @AndrewSwann Thanks for pointing that out.
    – Kyle Meyer
    Dec 14, 2014 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 and acknowledge you have read our privacy policy.

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