"Emacs Pinky" :: Batteries Included Solution?

(this is way too long for a comment but it may help you)

The space bar solution looks interesting although, at first sight, a bit too "hackish" for me but I may try it out...

Anyway I'd say the "Emacs pinky" problem is due to the default Emacs shortcuts, which have to be one of the most pain-inducing and RSI-provoking shortcuts ever conceived for a program (and this comes from a big Emacs fan so don't take that as Emacs criticism).

There are way too many defaults shortcuts that require using the pinky: CTRL-p (previous-line) comes to mind. That's two pinkies for you and it's supposed to be so smart because 'p' stands for 'previous'. All the C-x something and C-c something require way too much finger stretching too and I find M-x to be a terribly inneficient shortcut too...

I know this may comes as heresy, but quite some people are happy to use Emacs with vim-style navigation and, honestly, I can't blame them.

Personally I love the fact that under Emacs everything is configurable and so I came up with a personalized configuration that tries to:

  • minimize hand/fingers and pinky movements
  • maximize use of the "strong fingers"
  • maximize use of keys on which the fingers are already located ( (a)sdf and jkl(;) on a QWERTY keyboard, but 'a' and ';' means using the pinkies

I'm not against using the pinkies once in a while: but to me it's the repetition of way too many pinkies usage that may damage your hands.

So, as an example, instead of using CTRL-{p,n,f,b} to move around I use:

  • ALT-{i,j,k,l} (moving hands to the arrow keys is a big no-no).

  • ace-jump-mode

If you've never used ace-jump-mode you probably want to use it. It's one of the biggest time saver for Emacs. I've bound ace-jump-char-mode to M-e, which means I can get to any character I can see in a buffer in four or five keystrokes (including the two needed to hit M-e). This beats using CTRL-{p,n,f,b} any day and shall definitely help save your pinkies.

One may get fancy and modify ace-jump-mode so that the actual jump (the last keystroke) is performed without ever needing to hit a key requiring the pinky: looking at the source it looks quite easy (but then in some cases you'll need to use one additional keystroke: in any case this shall still be much faster than manually navigating around).

Here's a two minutes demonstration as to how to blazingly fastly jump around using ace-jump-mode (but even that great video doesn't do that mode justice: you really have to use it to realize how great it is):

"Emacs rocks! Episode 10: jumping around":

http://emacsrocks.com/e10.html

And then in addition to C-x and M-x, I've added C-, and M-, to act as C-x and M-x.

For example:

(define-key global-map [(control ,)] ctl-x-map)

I'd say that whether you find or not a portable way to use your SPC as a CTRL, you may also want to look in alternatives to C-{p,n,f,b} and C-x / M-x ('x', even if it's not requiring the pinky, is not very convenient IMHO).

tl;dr

To save your pinkies you can either:

  • turn on some ready-to-use vim-style mode

  • or spent the time needed to (re)configure entirely your Emacs to your liking and so that it stops destroying your pinkies (which may implies, but would not be limited to, using SPC as a CTRL if you find a portable way to do so)

In addition to that you may want to use emacs modes (like ace-jump-mode) allowing to save many keystrokes.


I discovered key-chord mode recently : «Key-chord lets you bind commands to combination of key-strokes. Here a “key chord” means two keys pressed simultaneously, or a single key quickly pressed twice.»

The nice thing is, it is apparently possible to define a key-chord starting with the space bar. http://www.emacswiki.org/emacs-en/KeyChord (and see space-chord.el)

So that would solve your problem, right ?

Tags:

Emacs

Elisp