(comment too long, but it may help you)
The solution for the spatial string looks interesting, although at first glance it is too hacky for me, but I can try ...
In any case, I would say that the problem with "Emacs pinky" is related to the default Emacs shortcuts, which should be one of the most painful and annoying shortcuts ever created for the program (and this comes from a large Emacs fan, so don’t take it as criticism of Emacs).
There are too many default shortcuts that require the use of the little finger: CTRL-p
(previous line) comes to mind. These are two music for you, and it should be so smart, because "p" means "previous". All Cx something
and Cc something
require too much finger stretching, and I find Mx
too scary a shortcut ...
I know this can happen like heresy, but some people enjoy using Emacs with vim style navigation and, frankly, I can't blame them.
Personally, I like the fact that everything is customizable under Emacs, so I came up with a personalized configuration that tries:
- minimize hands / fingers and pinky movements.
- maximize the use of strong fingers
- make the most of the keys that already have fingers ((a) sdf and jkl (;) on the QWERTY keyboard, but “a” and “;” means using the little finger
I am not opposed to using the little finger from time to time: but for me this repetition is too much using the little finger, which can damage your hands.
So, as an example, instead of using CTRL-{p,n,f,b}
to move, I use:
If you have never used ace-jump-mode
, you probably want to use it. This is one of the biggest timekeepers for Emacs. I attached ace-jump-char -mode to Me
, which means that I can get to any character that I can see in the buffer in four or five keystrokes (including two to get into Me). It beats with CTRL-{p,n,f,b}
any day and is sure to help save your sweethearts.
You can get imagination and change the ace-jump mode so that the actual jump (the last keystroke) is performed without having to press the key that requires the little finger: looking at the source, it looks pretty simple (but then in some you will need another keystroke: anyway it will still be much faster than manually).
Here's a two-minute demo on how to quickly jump using ace-jump-mode (but even this great video doesn't cope with this mode: you really need to use it to understand how cool it is):
"Stones Emacs! Episode 10: Jump":
http://emacsrocks.com/e10.html
And then in addition to Cx
and Mx
I added C-,
and M-,
, to act as Cx
and Mx
.
For instance:
(define-key global-map [(control ,)] ctl-x-map)
I would say that if you find or don't use the portable way of using your SPC as CTRL, you can also look for alternatives to C-{p,n,f,b}
and Cx / Mx
('x', even if it doesn't require little finger, not very convenient IMHO).
TL; DR
To save your little fingers, you can:
enable vim style ready to use
or take the time it takes to (re) completely customize your Emacs to your liking and so that it doesn't destroy your little fingers (which may include, but is not limited to, using SPC as CTRL if you find a portable way to do this)
In addition to this, you can use emacs modes (e.g. ace-jump-mode) to save a lot of keystrokes.