might be interesting.
=E3=80=88A Curious Look at GNU Emacs's 1000+ Default Keybinding=E3=80=89
http://xahlee.org/emacs/gnu_emacs_keybinding.html
plain text version follows.
if you know what that =E2=80=9Cdead=E2=80=9D, =E2=80=9Cmute=E2=80=9D, or ot=
hers are, please comment.
----------------------------------------------
A Curious Look at GNU Emacs's 1000+ Default Keybinding
Xah Lee, 2011-03-10
The following is GNU Emacs's default keybinding:
gnu_emacs_keybinding.txt. You can view it in emacs by pressing =E3=80=90F1 =
b=E3=80=91
(describe-bindings). There are a total of 1353 bindings.
-------------------------
The Lisp Keyboard Alt Key
It has 137 bindings starting with the notation A-.
A-/ Prefix Command
A-1 Prefix Command
A-3 Prefix Command
A-< =C2=AB
A-=3D =C2=AF
A-> =C2=BB
A-? =C2=BF
A-C =C2=A9
I think these are key labeled =E2=80=9CAlt mode=E2=80=9D from the lisp keyb=
oard. (See:
lisp keyboard photos.)
The purpose seems to be for inputting non-ASCII symbols. Today such
key are called Alt-Graph key.
-------------------------
Dead =EF=BC=86 Mute Keys
There are 226 keys with the notation of dead- in it. e.g.
<S-dead-acute> Prefix Command
<dead-acute> Prefix Command
<S-dead-tilde> A =C3=83
<S-dead-asciitilde> A =C3=83
<dead-tilde> A =C3=83
<S-dead-grave> A =C3=80
<dead-grave> A =C3=80
<S-dead-circumflex> 1 =C2=B9
<S-dead-circum> 1 =C2=B9
<S-dead-asciicircum> 1 =C2=B9
<dead-circumflex> 1 =C2=B9
<dead-circum> 1 =C2=B9
<dead-asciicircum> 1 =C2=B9
<S-dead-acute> A =C3=81
<dead-acute> A =C3=81
<S-dead-diaeresis> A =C3=84
<dead-diaeresis> A =C3=84
I'm not sure what these are. It might be the key labeled =E2=80=9CSymbol=E2=
=80=9D.
Note that the S- is the notation for the =E2=80=9CSuper=E2=80=9D key. So, <=
S-dead-
tilde> would be written as today something like =E3=80=90Super+Dead+~=E3=80=
=91.
There's also 70 keys with the notation of mute-, similar to the =E2=80=9Cde=
ad=E2=80=9D
above.
-------------------------
=E2=80=9CC-x 8=E2=80=9D for Special Symbol Input
After getting rid of these relic bindings, there are about 1k
bindings.
There are 140 bindings for C-x 8. These are for entering special
symbols that we can actually use today. Example:
C-x 8 < =C2=AB
C-x 8 =3D =C2=AF
C-x 8 > =C2=BB
C-x 8 ? =C2=BF
C-x 8 C =C2=A9
C-x 8 L =C2=A3
C-x 8 P =C2=B6
C-x 8 R =C2=AE
C-x 8 S =C2=A7
C-x 8 Y =C2=A5
C-x 8 ^ Prefix Command
-------------------------
Help, F1, =E2=80=9CC-h=E2=80=9D
There are 48 keys with <help> notation. Example:
<help> help-command
C-h <help> help-for-help
<f1> <help> help-for-help
<help> C-a about-emacs
<help> C-c describe-copying
<help> C-d view-emacs-debugging
<help> C-e view-external-packages
<help> C-f view-emacs-FAQ
....
<help> i info
<help> k describe-key
<help> l view-lossage
<help> m describe-mode
The =E2=80=9CHelp=E2=80=9D is a key on many keyboards, notably Apple, NeXT,=
Sun
Microsystems. See: Source www.pfu.fujitsu.com.
Then there are 48 keys with <f1> notation. Example:
<f1> help-command
C-h <f1> help-for-help
<f1> C-a about-emacs
<f1> C-c describe-copying
<f1> C-d view-emacs-debugging
<f1> C-e view-external-packages
<f1> C-f view-emacs-FAQ
....
<f1> i info
<f1> k describe-key
<f1> l view-lossage
<f1> m describe-mode
There are also 48 keys with C-h notation.
C-h help-command
<C-home> beginning-of-buffer
C-h C-a about-emacs
C-h C-c describe-copying
C-h C-d view-emacs-debugging
C-h C-e view-external-packages
C-h C-f view-emacs-FAQ
....
C-h i info
C-h k describe-key
C-h l view-lossage
C-h m describe-mode
All these i think are exactly equivalent maps.
-------------------------
C-x Prefix
There are 204 with the C-x notation. Example:
C-x C-@ pop-global-mark
C-x C-b list-buffers
C-x C-c save-buffers-kill-terminal
C-x C-d list-directory
C-x C-e eval-last-sexp
C-x C-f find-file
C-x TAB indent-rigidly
....
C-x $ set-selective-display
C-x ' expand-abbrev
C-x ( kmacro-start-macro
C-x ) kmacro-end-macro
C-x * calc-dispatch
C-x + balance-windows
C-x - shrink-window-if-larger-than-buffer
C-x . set-fill-prefix
C-x 0 delete-window
C-x 1 delete-other-windows
C-x 2 split-window-vertically
....
C-x a Prefix Command
C-x b switch-to-buffer
C-x d dired
C-x e kmacro-end-and-call-macro
C-x f set-fill-column
C-x h mark-whole-buffer
....
C-x <C-left> previous-buffer
C-x <C-right> next-buffer
C-x <left> previous-buffer
C-x <right> next-buffer
C-x C-k C-a kmacro-add-counter
C-x C-k C-c kmacro-set-counter
C-x C-k C-d kmacro-delete-ring-head
C-x C-k C-e kmacro-edit-macro-repeat
C-x C-k C-f kmacro-set-format
-------------------------
=E2=80=9Cview-mode=E2=80=9D Minor Mode Keys
There are about 38 keys are for =E2=80=9Cview-mode=E2=80=9D. They are almos=
t all
single letter keys. Example:
0 .. 9 digit-argument
< beginning-of-buffer
=3D what-line
> end-of-buffer
? describe-mode
@ View-back-to-mark
C View-kill-and-leave
E View-exit-and-edit
F View-revert-buffer-scroll-page-forward
H describe-mode
Q View-quit-all
-------------------------
Ctrl+Meta Bindings (C-M)
There are 36 bindings with notation C-M-. Example:
<C-M-down> down-list
<C-M-end> end-of-defun
<C-M-home> beginning-of-defun
<C-M-left> backward-sexp
<C-M-right> forward-sexp
<C-M-up> backward-up-list
C-M-@ mark-sexp
C-M-a beginning-of-defun
C-M-b backward-sexp
C-M-c exit-recursive-edit
C-M-d down-list
C-M-j indent-new-comment-line
C-M-k kill-sexp
These are designed to navigate/edit lisp code. (See: How to Edit Lisp
Code with Emacs.)
-------------------------
Ancient Special Keys
Now, there are ~400 bindings left.
Here's the file: gnu_emacs_keybinding_rest.txt.
Some keys interesting are these:
<again> repeat-complex-command
<begin> beginning-of-buffer
<compose-last-chars> compose-last-chars
<copy> clipboard-kill-ring-save
<cut> clipboard-kill-region
<delete-frame> handle-delete-frame
<deletechar> delete-char
<deleteline> kill-line
<escape> ESC
<linefeed> C-j
<execute> execute-extended-command
<f16> clipboard-kill-ring-save
<f18> clipboard-yank
<f20> clipboard-kill-region
<find> search-forward
<header-line> Prefix Command
<iconify-frame> ignore-event
<insertchar> overwrite-mode
<insertline> open-line
<language-change> ignore
<left-fringe> Prefix Command
<lwindow> ignore
<make-frame-visible> ignore-event
<menu> execute-extended-command
<mode-line> Prefix Command
<select-window> handle-select-window
<switch-frame> handle-switch-frame
I think most of these are actual keys. You can still see some of these
keys on Sun Microsystem's keyboard. (alas, Sun just died a year ago.)
For photo of Sun keyboard, see: Sun Microsystem's =E2=80=9CType 6=E2=80=9D =
Keyboard.
Xah =E2=88=91 http://xahlee.org/
|
|
0
|
|
|
|
Reply
|
xahlee (818)
|
3/10/2011 3:10:17 PM |
|
Xah Lee <xahlee@gmail.com> writes:
> Dead & Mute Keys
>
> There are 226 keys with the notation of dead- in it. e.g.
>
> <S-dead-acute> Prefix Command
> <dead-acute> Prefix Command
> <S-dead-tilde> A Ã
> <S-dead-asciitilde> A Ã
>
> I'm not sure what these are. It might be the key labeled “Symbol”.
Dead keys are keys that, when pressed, don't produce a character. On a
French AZERTY keyboard, this is used for the ^ key, for instance: you
press the ^ key (nothing appears on-screen), then a vowel, say `e', and
you get `ê'. In modern implementations of Linux / X, I beleive the
composing of ê is actually done by X, and emacs doesn't see a
`dead-circumflex' key being pressed. YMMV depending on the X keymap and
emacs' translation map.
--
Frédéric Perrin
|
|
0
|
|
|
|
Reply
|
fred.NO (4)
|
3/10/2011 11:13:53 PM
|
|
On Mar 10, 7:10=C2=A0am, Xah Lee <xah...@gmail.com> wrote:
> =E3=80=88A Curious Look at GNU Emacs's 1000+ Default Keybinding=E3=80=89 =
http://xahlee.org/emacs/gnu_emacs_keybinding.html
> Note that the S- is the notation for the =E2=80=9CSuper=E2=80=9D key. So,=
<S-dead-
> tilde> would be written as today something like =E3=80=90Super+Dead+~=E3=
=80=91.
correction: the S- is not super, it's Shift.
Xah
|
|
0
|
|
|
|
Reply
|
xahlee (818)
|
3/11/2011 3:49:54 AM
|
|
On Mar 10, 3:13=C2=A0pm, Fr=C3=A9d=C3=A9ric Perrin <fred...@SPAM.resel.fr>=
wrote:
> Xah Lee <xah...@gmail.com> writes:
> > Dead =EF=BC=86 Mute Keys
>
> > There are 226 keys with the notation of dead- in it. e.g.
>
> > <S-dead-acute> =C2=A0Prefix Command
> > <dead-acute> =C2=A0Prefix Command
> > <S-dead-tilde> A =C3=83
> > <S-dead-asciitilde> A =C3=83
>
> > I'm not sure what these are. It might be the key labeled =E2=80=9CSymbo=
l=E2=80=9D.
>
> Dead keys are keys that, when pressed, don't produce a character. On a
> French AZERTY keyboard, this is used for the ^ key, for instance: you
> press the ^ key (nothing appears on-screen), then a vowel, say `e', and
> you get `=C3=AA'. In modern implementations of Linux / X, I beleive the
> composing of =C3=AA is actually done by X, and emacs doesn't see a
> `dead-circumflex' key being pressed. YMMV depending on the X keymap and
> emacs' translation map.
Thanks. Didn't connect with the dead key concept before.
Normally, each notation corresponds to a key. So, does this mean
sometimes in
the past some keyboard actually have ~8 dedicated physical dead keys,
one for
each diacritic mark?
Xah
|
|
0
|
|
|
|
Reply
|
xahlee (818)
|
3/11/2011 4:05:26 AM
|
|
Xah Lee <xahlee@gmail.com> writes:
> might be interesting.
>
> 〈A Curious Look at GNU Emacs's 1000+ Default Keybinding〉
> http://xahlee.org/emacs/gnu_emacs_keybinding.html
>
> plain text version follows.
>
> if you know what that “dead”, “mute”, or others are, please comment.
>
> ----------------------------------------------
> A Curious Look at GNU Emacs's 1000+ Default Keybinding
>
> Xah Lee, 2011-03-10
>
> The following is GNU Emacs's default keybinding:
> gnu_emacs_keybinding.txt. You can view it in emacs by pressing 【F1 b】
> (describe-bindings). There are a total of 1353 bindings.
>
What do you mean by 'default' key bindings? The command [f1] b or C-h b
lists the current key bindings for the mode you are in. This list not
only depends on what mode, but also what minor modes you have loaded and
you will get different results depending on where/when you execute that
command. Mode specific local bindings also override global bindings and
this list will include any user defined bindings. Therefore, referring
to it as emacs' default key bindings is probably a bit misleading as
people may wonder why their 'defaults' differ from your list.
Tim
--
tcross (at) rapttech dot com dot au
|
|
0
|
|
|
|
Reply
|
timx2 (502)
|
3/11/2011 6:37:23 AM
|
|
On Mar 10, 10:37=C2=A0pm, Tim X <t...@nospam.dev.null> wrote:
> Xah Lee <xah...@gmail.com> writes:
> > might be interesting.
>
> > =E3=80=88A Curious Look at GNU Emacs's 1000+ Default Keybinding=E3=80=
=89
> >http://xahlee.org/emacs/gnu_emacs_keybinding.html
>
> > plain text version follows.
>
> > if you know what that =E2=80=9Cdead=E2=80=9D, =E2=80=9Cmute=E2=80=9D, o=
r others are, please comment.
>
> > ----------------------------------------------
> > A Curious Look at GNU Emacs's 1000+ Default Keybinding
>
> > Xah Lee, 2011-03-10
>
> > The following is GNU Emacs's default keybinding:
> > gnu_emacs_keybinding.txt. You can view it in emacs by pressing =E3=80=
=90F1 b=E3=80=91
> > (describe-bindings). There are a total of 1353 bindings.
>
> What do you mean by 'default' key bindings? The command [f1] b or C-h b
> lists the current key bindings for the mode you are in. This list not
> only depends on what mode, but also what minor modes you have loaded and
> you will get different results depending on where/when you execute that
> command. Mode specific local bindings also override global bindings and
> this list will include any user defined bindings. Therefore, referring
> to it as emacs' default key bindings is probably a bit misleading as
> people may wonder why their 'defaults' differ from your list.
>
> Tim
>
> --
> tcross (at) rapttech dot com dot au
you are right. I'll reword it a bit.Thanks.
Xah
|
|
0
|
|
|
|
Reply
|
xahlee (818)
|
3/11/2011 7:29:22 AM
|
|
On Mar 10, 7:10=C2=A0am, Xah Lee <xah...@gmail.com> wrote:
> might be interesting.
>
> =E3=80=88A Curious Look at GNU Emacs's 1000+ Default Keybinding=E3=80=89
> http://xahlee.org/emacs/gnu_emacs_keybinding.html
some question about the lisp keyboard.
I never really understood the relation of the Alt and Meta.
here's some questions.
=E2=80=A2 In describe-binding, there's this:
> A-/ =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Prefix Command
> A-1 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Prefix Command
> A-3 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Prefix Command
> A-< =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=AB
> A-=3D =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=AF
> A-> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=BB
> A-? =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=BF
> A-C =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A9
(1): Does anyone know what that key is on the lisp keyboard?
On the space cadget keyboard, there's Alt Mode and Alt Lock. Is this
the key?
on the later Symbolics lisp machine keyboard (PN 365407 Rev C), there
is no key labeled Alt at all.
(2) There's a key labeled =E2=80=9CSymbol=E2=80=9D on lisp machine keyboard=
.. Anyone
know what it is?
(3) it's hard to know history if one didn't live thru it. My question
is, just how long or wide spread is the space cadget keyboard? Is it
just a short-lived fancy keyboard or is it common among lisp machines
of the time? or even, is it only used by lisp machines or is also
commonly used on other machines at the time? (am asking this because
the space cadget keyboard is catchy in name and all the modifiers but
perhaps it isn't the main influence to emacs compared to later lisp
keyboard, etc.)
Xah
|
|
0
|
|
|
|
Reply
|
xahlee (818)
|
3/13/2011 2:14:04 AM
|
|
> correction: the S- is not super, it's Shift.
>
> Xah
Precisely. Super is "s-".
|
|
0
|
|
|
|
Reply
|
krzysztof.t.bieniasz (30)
|
3/15/2011 7:05:40 PM
|
|
Xah Lee <xahlee@gmail.com> writes:
> sometimes in the past some keyboard actually have ~8 dedicated
> physical dead keys, one for each diacritic mark?
oh no, simply you tell your application that some normal keys are to
be treated differently
i said application due to the emacs context of this discussion, but it
could be also some midlevel software (think of X and of xkbd)
|
|
0
|
|
|
|
Reply
|
Giacomo
|
3/24/2011 9:17:41 PM
|
|
On Mar 24, 2:17=A0pm, Giacomo Boffi <giacomo.bo...@polimi.it> wrote:
> Xah Lee <xah...@gmail.com> writes:
> > sometimes in the past some keyboard actually have ~8 dedicated
> > physical dead keys, one for each diacritic mark?
>
> oh no, simply you tell your application that some normal keys are to
> be treated differently
>
> i said application due to the emacs context of this discussion, but it
> could be also some midlevel software (think of X and of xkbd)
not quite sure i understand what you mean.
we talking about the period of 1980s right? That's the context of this
thread supposed to be.
Xah
|
|
0
|
|
|
|
Reply
|
Xah
|
3/24/2011 11:49:10 PM
|
|
On 2011-03-10, Xah Lee <xahlee@gmail.com> wrote:
> might be interesting.
>
> 〈A Curious Look at GNU Emacs's 1000+ Default Keybinding〉
> http://xahlee.org/emacs/gnu_emacs_keybinding.html
>
> plain text version follows.
Very interesting. The C-x 8 series I was unaware of, and I would've
been glad to know about it as I usually have to change input method
when I want to type a bit in French or Spanish. Interesting to see the
A- notation, for example A-Y for the Yen symbol, doesn't work with a
modern Alt key.
|
|
0
|
|
|
|
Reply
|
RS
|
3/26/2011 9:31:50 PM
|
|
On Mar 26, 2:31=C2=A0pm, RS Wood <ra...@therandymon.com> wrote:
> On 2011-03-10, Xah Lee <xah...@gmail.com> wrote:
>
> > might be interesting.
>
> > =E3=80=88A Curious Look at GNU Emacs's 1000+ Default Keybinding=E3=80=
=89
> >http://xahlee.org/emacs/gnu_emacs_keybinding.html
>
> > plain text version follows.
>
> Very interesting. =C2=A0The C-x 8 series I was unaware of, and I would've
> been glad to know about it as I usually have to change input method
> when I want to type a bit in French or Spanish. =C2=A0Interesting to see =
the
> A- notation, for example A-Y for the Yen symbol, doesn't work with a
> modern Alt key.
yes, the C-x 8 is great. Though these days i've setup my own system of
keys to input special chars, much like Mac OS's Opt+letter key. (I use
Hyper+=E2=80=B9letter=E2=80=BA, where the Hyper is Window keyboard's Menu k=
ey) This is
faster than Ctrl+x 8 =E2=80=B9letter=E2=80=BA.
setting up your own is sometimes desired because the C-x 8 mechanism
is mostly for latin symbols, and doesn't contain much math symbols
such as infinity =E2=88=9E, lambda =CE=BB, alpha =CE=B1, arrow =E2=86=92, e=
tc.
here's several ways to setup a symbol keyboard layout. Thru OS
mechanism, or with emacs:
=E3=80=88How to Create a APL or Math Symbols Keyboard Layout=E3=80=89
http://xahlee.org/kbd/creating_apl_keyboard_layout.html
But if you work with math a lot (e.g. XeTeX, MathML, Mathematica, or
functional langs), where you need to input hundreds of math symbols,
direct key input is not suitable because it becomes difficult to
memorize the exact key combos. For that many symbols, a input system
is more suitable. e.g. type =E2=80=9Cinf=E2=80=9D then press a hotkey and i=
t becomes
=E2=88=9E. Same for lambda, whole greek letters, sum, logic and/or/not, all
direction of arrows and variations, etc.
here's my math symbols input system:
=E3=80=88Emacs Unicode Math Symbols Input Mode (xmsi-mode)=E3=80=89
http://xahlee.org/emacs/xmsi-math-symbols-input.html
it's open source, but donation is much appreciated.
Xah
|
|
0
|
|
|
|
Reply
|
Xah
|
3/27/2011 1:03:00 AM
|
|
|
11 Replies
53 Views
(page loaded in 0.154 seconds)
|