Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Emacs key bindings through the ages

3 views
Skip to first unread message

bramble

unread,
Nov 14, 2007, 1:03:55 AM11/14/07
to
The default GNU Emacs key bindings seem to work very well. They seem
particularly well-thought-out, in fact. Like stones in a stream, worn
by movement and time to have very few rough edges... They mesh well
with the ascii control characters, and I particularly like how M-<foo>
is often used as a sort of "turbo boost" to C-<foo> (like C-f vs. M-f,
for example). In cases where it makes no sense to boost the C-key,
Emacs often has elegant mnemonic bindings, for example, M-u, M-l, M-c.

Were the bindings designed as such right from the beginning by only
RMS? Or have they morphed over the years, with user and developer
requests guiding changes? Can anyone shed any light on the history of
the default key binding choices?

(Please note, I don't wish to start another thread comparing Emacs key
combinations with CUA bindings. I realize that, for whatever reasons,
some people just don't like or can't get used to Emacs key combos, but
I was hoping this thread would simply address the development and
history of Emacs bindings over time.)

Thanks.

Stefan Monnier

unread,
Nov 14, 2007, 11:07:59 AM11/14/07
to
> Were the bindings designed as such right from the beginning by only
> RMS? Or have they morphed over the years, with user and developer
> requests guiding changes? Can anyone shed any light on the history of
> the default key binding choices?

As far as I know, the way it happened is that Richard climbed up the
mountain, where God almighty told him the bindings to use.


Stefan

rustom

unread,
Nov 14, 2007, 11:27:39 AM11/14/07
to
On Nov 14, 9:07 pm, Stefan Monnier <monn...@iro.umontreal.ca> wrote:

> As far as I know, the way it happened is that Richard climbed up the
> mountain, where God almighty told him the bindings to use.
>
> Stefan

And carrying those heavy keybindings-tablets down gave him a bad case
of emacs-pinky

Juanma Barranquero

unread,
Nov 14, 2007, 12:05:40 PM11/14/07
to Stefan Monnier, help-gn...@gnu.org
On 11/14/07, Stefan Monnier <mon...@iro.umontreal.ca> wrote:

> As far as I know, the way it happened is that Richard climbed up the
> mountain, where God almighty told him the bindings to use.

Do you mean, God told Richard the bindings He was already using, don't
you? I'm sure not even Him could manage a six-day totally on-schedule
world creation event without some kind of planning mode on Emacs...

Juanma


Barry Margolin

unread,
Nov 14, 2007, 8:16:16 PM11/14/07
to
In article <1195020235....@o38g2000hse.googlegroups.com>,
bramble <cadet....@gmail.com> wrote:

> The default GNU Emacs key bindings seem to work very well. They seem
> particularly well-thought-out, in fact. Like stones in a stream, worn
> by movement and time to have very few rough edges... They mesh well
> with the ascii control characters, and I particularly like how M-<foo>
> is often used as a sort of "turbo boost" to C-<foo> (like C-f vs. M-f,
> for example). In cases where it makes no sense to boost the C-key,
> Emacs often has elegant mnemonic bindings, for example, M-u, M-l, M-c.
>
> Were the bindings designed as such right from the beginning by only
> RMS? Or have they morphed over the years, with user and developer
> requests guiding changes? Can anyone shed any light on the history of
> the default key binding choices?

Almost all the simple Control and Meta bindings are pretty much the same
as they were on the original ITS EMACS 30 years ago. C-x was the common
prefix character at that time, C-c came later (my guess is that he
didn't want to put an EMACS key binding on the OS's default interrupt
character), and the basic file read/write operations were on C-x C-f,
C-x C-s, and C-x C-w just as they are now. Many of the Control-Meta
(s-expression) commands are also the same or similar.

So someone who entered the time machine that was developed at MIT in
1980 could come out today and have little problem using Emacs. It's
mostly grown by accretion, not by reassigning too many existing key
bindings. The use of C-c as the mode-specific prefix has prevented
conflicts with the old bindings.

--
Barry Margolin, bar...@alum.mit.edu
Arlington, MA
*** PLEASE post questions in newsgroups, not directly to me ***
*** PLEASE don't copy me on replies, I'll read them in the group ***

bramble

unread,
Nov 14, 2007, 10:19:43 PM11/14/07
to
Thanks, Barry.

Xah Lee

unread,
Nov 15, 2007, 3:33:52 AM11/15/07
to
emacs's keybind is actually the worst possible in both ergonomic and
ease of use considerations. Likely a randomly generated shortcut set
will have a 30% chance better.

See: Why Emacs's Keyboard Shortcuts Are Painful
http://xahlee.org/emacs/emacs_kb_shortcuts_pain.html

The Modernization of Emacs
http://xahlee.org/emacs/modernization.html

Xah
x...@xahlee.org
http://xahlee.org/

Stefan Kamphausen

unread,
Nov 15, 2007, 5:49:45 AM11/15/07
to
File: genesis.org

----------------------------------------------------------------------
-*- mode: org -*-

GENESIS - THE WORLD PROJECT

* Environment
** TODO Create Heavens And Earth
SCHEDULED: <0000-00-01 Mon>
** TODO Make Light
SCHEDULED: <0000-00-01 Mon>
** TODO Make The Sky
SCHEDULED: <0000-00-02 Tue>
** TODO Make Some Land
SCHEDULED: <0000-00-03 Wed>
** TODO Make The Sun And The Moon
SCHEDULED: <0000-00-04 Thu>
** TODO Make The Stars
SCHEDULED: <0000-00-04 Thu>

* Life
** TODO Make The Plants
SCHEDULED: <0000-00-03 Wed>
** TODO Make Sea Creatures
SCHEDULED: <0000-00-05 Fri>
** TODO Make Birds
SCHEDULED: <0000-00-05 Fri>
** TODO Make Land Creatures
SCHEDULED: <0000-00-06 Sat>
** TODO Make Humans
SCHEDULED: <0000-00-06 Sat>

* Privat
** TODO Take A Rest
SCHEDULED: <0000-00-07 Sun>

* Notes:
- The filing of plants is blurry
- Everything's so important, so it should be capitalized.
----------------------------------------------------------------------


Regards,
Stefan
--
Stefan Kamphausen --- http://www.skamphausen.de
a blessed +42 regexp of confusion (weapon in hand)
You hit. The format string crumbles and turns to dust.

Lennart Borgman (gmail)

unread,
Nov 15, 2007, 9:06:07 AM11/15/07
to help-gn...@gnu.org
Xah Lee wrote:
> emacs's keybind is actually the worst possible in both ergonomic and
> ease of use considerations. Likely a randomly generated shortcut set
> will have a 30% chance better.
>
> See: Why Emacs's Keyboard Shortcuts Are Painful
> http://xahlee.org/emacs/emacs_kb_shortcuts_pain.html

Take a look at sticky modifiers:

http://www.emacswiki.org/cgi-bin/wiki/StickyModifiers


rustom

unread,
Nov 15, 2007, 11:01:49 AM11/15/07
to
On Nov 15, 7:06 pm, "Lennart Borgman (gmail)"

Thanks Lennart. This is just what I was looking for. Didn't know the
name sticky keys so couldn't ask

Amy Templeton

unread,
Nov 15, 2007, 1:47:10 PM11/15/07
to help-gn...@gnu.org
Stefan Kamphausen <ska...@gmx.net> wrote:
> File: genesis.org

This is *so* going into CategoryHumor on the Emacswiki :-).

Amy

--
Somebody ought to cross ball point pens with coat hangers so that the
pens will multiply instead of disappear.


bramble

unread,
Nov 15, 2007, 4:33:51 PM11/15/07
to
On Nov 15, 5:49 am, Stefan Kamphausen <ska...@gmx.net> wrote:
> File: genesis.org
>
> ----------------------------------------------------------------------
> -*- mode: org -*-
>
> GENESIS - THE WORLD PROJECT
>
> [snip]

>
> ** TODO Make Humans
> SCHEDULED: <0000-00-06 Sat>
>

Under "** TODO Make Humans" I was waiting for "*** Point out my wicked-
cool default shell and editor key bindings to RMS at some point (add
an `at` job to remind me). Try not to let him make me change any of
them."

By the way, are there any Emacs key bindings that the community in
general doesn't like (aside from Xah ;) ), but that the powers that be
adamantly refuse to change? An odd one (odd to me, anyway) is using C-
x r m to make a bookmark (and C-x r b to return to a bookmark). I love
the feature, but C-x seems an odd prefix for it (maybe M-g would be
good for it (given what M-g g does), but maybe I'm missing something).

Tim X

unread,
Nov 16, 2007, 12:23:34 AM11/16/07
to
bramble <cadet....@gmail.com> writes:

I *think* the C-x prefix is to keep file related operations associated with
C-x. Also, M-g is now used for goto-line.

--
tcross (at) rapttech dot com dot au

rustom

unread,
Nov 16, 2007, 7:26:51 AM11/16/07
to
On Nov 16, 2:33 am, bramble <cadet.bram...@gmail.com> wrote:

> By the way, are there any Emacs key bindings that the community in general doesn't like (aside from Xah ;) ),

> but that the powers that be adamantly refuse to change? An odd one (odd to me, anyway) is using C-x r m ...

When I first read about emacs in Interactive Programming Environments
25 years, ago this question would have seemed like an oxymoron --
after all the whole point was that you should have your bindings and I
mine and a thousand Xahs should flourish. Unfortunately it seems that
extensibility in theory and in practice are different things...

For example consider:
1. There are a hundred or so(?) color themes and Ive spent some time
trying to select one that is not so bright for my tired eyes but
whatever Ive tried, invariably some face or other in some mode or
other becomes invisible.

2. There are several hundred fonts available in principle but the
proportional ones that are easier on the eyes cant maintain
indentation

3. Likewise keybindings. After Lennart pointed towards 'sticky keys' I
immediately tried them out but I found it too intrusive -- it keeps
popping up some dialog at me. Of course more fine-tuning may be
possible -- having shift as a 'chord' but alt and control as 'sticky'
but I dont know how to do it.

So to answer your question: are there keybindings I dont like: Well I
dont like to have to 'chord' -- it hurts.
I wish I could have keybindings like vi -- single key-commands for
the hand, powerful modes in the head -- the look like eclipse --
multiple proportional fonts -- on top of emacs' extensibility.

Lennart Borgman (gmail)

unread,
Nov 16, 2007, 10:45:48 AM11/16/07
to rustom, help-gn...@gnu.org
rustom wrote:
> 3. Likewise keybindings. After Lennart pointed towards 'sticky keys' I
> immediately tried them out but I found it too intrusive -- it keeps
> popping up some dialog at me. Of course more fine-tuning may be
> possible -- having shift as a 'chord' but alt and control as 'sticky'
> but I dont know how to do it.


Those dialogs that pops up does not sound good. What OS/window manager
are you using?


rustom

unread,
Nov 16, 2007, 11:45:31 AM11/16/07
to
On Nov 16, 8:45 pm, "Lennart Borgman (gmail)"

What OS? debian etch
What window manager? Not sure how to answer that... gnome. More
technically correct answer (I guess) is metacity though I know nothing
about the level below gnome.

Lennart Borgman (gmail)

unread,
Nov 16, 2007, 12:48:48 PM11/16/07
to rustom, help-gn...@gnu.org
rustom wrote:
>>> 3. Likewise keybindings. After Lennart pointed towards 'sticky keys' I
>>> immediately tried them out but I found it too intrusive -- it keeps
>>> popping up some dialog at me. Of course more fine-tuning may be
>>> possible -- having shift as a 'chord' but alt and control as 'sticky'
>>> but I dont know how to do it.
>> Those dialogs that pops up does not sound good. What OS/window manager
>> are you using?
>
> What OS? debian etch
> What window manager? Not sure how to answer that... gnome. More
> technically correct answer (I guess) is metacity though I know nothing
> about the level below gnome.


I think Gnome have a special mailing list about usability. Maybe you
should tell them?


Stefan Monnier

unread,
Nov 17, 2007, 11:50:34 PM11/17/07
to
> I wish I could have keybindings like vi -- single key-commands for
> the hand, powerful modes in the head -- the look like eclipse --
> multiple proportional fonts -- on top of emacs' extensibility.

Tried M-x viper ?


Stefan

rustom

unread,
Nov 18, 2007, 3:47:45 AM11/18/07
to

The last time I tried it (long time back) it was quite un-vi-like
because multiple ESCs jerked one back into emacs mode.
Things may be different now --dunno -- but one loses any habit in 20
years.
My point was more basic than vi/emacs specific viz.
It may take a few more minutes or hours to learn h-j-k-l as against
the more 'natural' C-p C-n C-f C-b
but with a lifetime of use its a couple of million more keystrokes and
correspondingly worn-out muscles. Programmers tend to forget that the
logical and the ergonomical are different.

Yeah-yeah I know we use the arrow keys today but that only confirms
something that Xah (so tirelessly :-) ) proclaims viz that the emacs
key-bindings are a relic of another keyboard from another era.

Of course emacs is much better on my hands than firefox, ooffice etc
so I am not complaining too much.

PS. If I could go back to school today I would train on a dvorak
keyboard. But returning to the womb is at best an expensive
proposition :-)

0 new messages