all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Xah Lee <xahlee@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: What's your favourite *under_publicized* editing feature ofEmacs?
Date: Tue, 22 Feb 2011 06:49:14 -0800 (PST)	[thread overview]
Message-ID: <ae23d097-ee87-41b1-9bd9-f74c6cbbd1aa@l22g2000pre.googlegroups.com> (raw)
In-Reply-To: mailman.12.1296239161.1176.help-gnu-emacs@gnu.org

On Jan 28, 10:25 am, "Drew Adams" <drew.ad...@oracle.com> wrote:
> > Or use what is already there since 23.1:
> > <f3> runs the command kmacro-start-macro-or-insert-counter...
> > <f4> runs the command kmacro-end-or-call-macro...
>
> It's unfortunate however that two repeatable keys were wasted for these default
> bindings.  Repeatable keys are better reserved for operations that you want to
> easily repeat by just holding down a key or chord.
>
> Yes, you can use `f4' for both ending a macro definition and executing the
> macro, and the latter operation is repeatable.  Still, it is better to use a
> repeatable suffix on a prefix key for this, e.g. `C-x e e e...' (which you can
> already use as an alternative to `f4 f4 f4...').  Single repeatable keys are a
> valuable resource and should not be wasted.
>
> `f3' and `f4' also do not offer mnemonic help.
>
> Consider by contrast the keys bound to `kmacro-start-macro' and
> `kmacro-end-macro': `C-x (' and `C-x )'.  Those bindings were made decades ago
> (to the parents of the current commands: `start-kbd-macro' and `end-kbd-macro').
> They are mnemonic, visually indicating start and end, and they are not easily
> repeatable by holding keys down.  Start/end have no need to be repeatable.

totally agree with Drew Adam here.

i also like add a point about why i think f3 f4 is bad. (maybe Drew
agree too or maybe not)

f3 and f4 is one of those easy-to-press keys: single key, big key, in
easy-to-access positions. These type of keys are rare. (in the sense
that you have some 10 times more commands you want to have easy key in
emacs)

in my quite painstaking research about all aspects of keyboard in the
past few years, i came to this one single most important principle:

most frequently used command needs to go to most easy to press key
spots.

all other keybinding considerations, such as ease-to-remember, logical
placement with similar commands, are in comparsion almost unimportant.

in this regard, f3 and f4 are bad keys for kmacro-start-macro and
kmacro-end-macro.

> In the past Emacs also used the similar keys `C-x [' and `C-x ]' for generating
> the corresponding Emacs-Lisp code while defining a keyboard macro.  I don't
> recall whether those keys were in Gnu Emacs or some other Emacs from days of
> yore.  The point is that here too mnemonic start/end keys were used, and no
> repeatable keys/chords were wasted gratuitously.  (Yes, it is also true that
> natural pairs such as () [] \/ and <> are rare and should be used judiciously.)
>
> There was some discussion back in 2002 about wasting `f3' and `f4' for this.  At
> first (with no discussion AFAICT), `f7' and `f8' were implemented for it - same
> problems obviously.  A user pointed out that function keys `f5' to `f9' are
> supposed to be reserved for users to bind, so the macro commands got moved to
> `f3' and `f4'.
>
> What was the main argument for binding kmacro commands to such keys?  "I need to
> bind them to two adjacent function keys" and "it makes a nice interface to have
> this on two function keys next to each other".  Which is no reason at all (why
> do they need to be adjacent? why do they need to be on function keys?).
>
> The other arguments given in support of wasting `f3|4' for this: (a) "I don't
> see why we should hide an excellent feature like keyboard macros", (b) keys like
> `C-x (' are "way too cumbersome" for defining a macro, and (c) "I really don't
> understand why binding function keys by default is worth making a fuzz about".
>
> (b) is the most misguided of these: you don't need a quick, repeatable key just
> to turn on/off keyboard recording.  Use easily repeatable keys for repeatable
> operations (incremental changes, cycling, etc.), and use keys that are a bit
> more cumbersome for one-off operations such as on/off, start/end.
>
> To their credit, Stefan and Miles argued against using function keys for this,
> but with no success.  This was the last word, from RMS:
>
> "I think there is no harm in supporting F3 and F4 as well as
> C-x (, C-x ) and C-x e and C-x C-k, if users like F3 and F4.
> We could take a poll and ask them."
>
> AFAIK no poll was ever taken.
>
> Although Stefan's suggestion to use `C-x e e e...' to repeat macro execution was
> also implemented, `f3' and `f4' remain bound by default, and `C-x e e e...' took
> a back seat in the doc (and consequently in practice, no doubt), seemingly as an
> afterthought.  There isn't even any mention of the `C-x e' option
> `kmacro-call-repeat-key'.
>
> http://lists.gnu.org/archive/html/emacs-devel/2002-08/msg00760.html

again, i agree with what Drew wrote above.

i think the other oddity is F1 for help. Is that due to Windows
influence?

I think one of the F key should be execute-extended-command.

PS offkey but i really love to remark: i use my own ErgoEmacs binding
set of course, which completely remap all the primary keys based on
command frequency. On top of that, i have over a hundred more personal
emacs keyboard shortcuts, and a hundred more outside of emacs. (on
Windows, that's AutoHotkey) Also note, sometime i read online (e.g.
reddit, hackernews) that people remark that my use or teaching of
emacs is like from Windoz Notebook newb. Actually, the first 6 years
of my emacs using, from 1998 to 2004, is in plain old text terminals
(not even XTerm), and absolutely traditional emacs keybinding. I even
avoid adding anything to my “.emacs”. (have written amply about this
on my site or if one care to research past posts on the net)

... a bit more about keybinding. In the past 3 or so years, due to my
obsession of keyboarding efficiency, by steps of piecemeal improvement
of my emacs use by *practical* experiences (with emphasis on
statistics and science basis as opposed to “i feel” or anecdotes), i
realized that i've  eliminated all keys that require multi-sequences.
A few months ago, the last one to go was kill-rectangle 【C-x r k】 and
string-rectangle 【C-x r t】. They are now 【C-8】 and 【C-9】.

(actually, there are still exceptions. Ι still haven't remapped
【C-h f】, 【C-h k】, which i use few times a hour on average. Also, still
use 【C-x (】 and 【C-x )】 perhaps few times a week. Actually a few
more.. especially mode specific that starts with 【C-c】.)

in the past 6 months, i started to wonder if vi's so-called “modal”
way is actually more efficient. Am certain of it now. I think it is un-
avoidable that sometimes soon i'll be creating a ErgoEmacs-Viper mode,
due to my keyboarding obsession.

also, you know i live among tech geeker communities. The internet is
my home. My life. And among tech geekers, y'know how harsh it is, that
there's always someone who know more than you, and often not shy to
show it.  On the net, you often hear linux or emacs geeks brag about
they keyboarding habits n setups, such as some ratpoison or haskell
based tiling windows etc. (n they not shy to tell you about it, and
tell you how you should do it this or that way with this or that
tools)

I tell you now, and you can quote me on this: i don't care what linux
you on, what ratpoison you use, whot X11 xmodmap you've done, how
extensive your customization is, how many years of emacs you've been
using: my setup n system, is more efficient than you, by any means of
scientific accessment.

AND: i don't care if you are richard stallman or old time emacs dev.
The total time i spend in emacs, in past 3 years, is more than you
have. (if you think you can challenge that, first ask ur self if you
LITERALLY spend 14 hours in front of the computer DAILY on average in
the past 3 years, STATISTICALLY speaking. If not, forget it. If you
have a family, forget it. If you watch TV, go out to dinner, or
occasionally go to bar or social events such as movies or bar etc,
forget it. If you work in a day job (with meetings, time spend on
driving, etc), forget it. If you take shower daily, take time to cook
diner, or go to gym, forget it. If you hang out with friends, or chat
with room-mates, forget it. Now, if you are city hermit, a ascetic, a
extreme weirdo, like me, then, possibly we can compare notes.
Otherwise, you can forget about challenging me on things i say
forcefully.)

(the above paragraph speaks of last 3 years. But the pattern is about
the same for past 20 years, just more severe in past 3.)

with respect to emacs keybinding, emacs should completely ditch the C-
x. Not by simply turn on cua-mode, but re-write the entire shit, axe
the cua-mode hack. Stop the C-m C-i to Enter Tab equivalences. Support
the 7 or so standard keys such as Open, Close, Copy, Paste. Re-design
the whole major shortcut keys (e.g. cursor movement, text deletion.)
(adopt my ErgoEmacs keybinding design if u want.) This will not only
make emacs compatible to current standards (e.g. for those Windows
newbs we love to hate), but also much more efficient for the most hard-
core tech geekers (e.g. what u'd call “hackers” such as many here).

for each point i made in this post, i have written a essay with
hundreds words details. They are all on my website. I shall not make
any links here.

Also, a disclaimer: i claim exactly what i've written as they can be
reasonably interpreted. With all the bragging, i do not claim, for
example, that i know more elisp than many here, nor that i'm a better
programer, etc.

i guess it is old school netiquette that when flaming is over, one
makes a note of it. But no, the bragging has only began!

No U! It's Me!

 Xah ∑ http://xahlee.org/


  parent reply	other threads:[~2011-02-22 14:49 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-27  8:33 What's your favourite *under_publicized* editing feature of Emacs? Le Wang
2011-01-27  9:29 ` Deniz Dogan
2011-01-27 12:03 ` Wang Lei
2011-01-27 14:13   ` suvayu ali
2011-01-27 14:12 ` Ken Goldman
2011-01-27 18:11 ` Erik Iverson
     [not found] ` <mailman.0.1296137574.27610.help-gnu-emacs@gnu.org>
2011-01-27 22:23   ` Joe Fineman
2011-01-28  6:40     ` Jason Rumney
2011-01-28 18:25       ` What's your favourite *under_publicized* editing feature ofEmacs? Drew Adams
     [not found]       ` <mailman.12.1296239161.1176.help-gnu-emacs@gnu.org>
2011-02-22 14:49         ` Xah Lee [this message]
2011-02-22 16:27           ` despen
2011-02-23  3:52             ` Glenn Morris
2011-02-22 19:47           ` Alan Mackenzie
2011-02-23  0:21             ` Xah Lee
2011-02-23  2:06             ` Cthun
2011-02-23  2:33               ` Rafe Kettler
2011-02-23  5:19                 ` Cthun
2011-02-23  7:07                   ` Tim X
2011-02-23 13:28                     ` Keyboarding [Re: What's your favourite *under_publicized* editing feature ofEmacs?] Xah Lee
2011-02-23 15:39                     ` What's your favourite *under_publicized* editing feature ofEmacs? Cthun
2011-02-23 19:50                       ` Óscar Fuentes
2011-02-23 22:57                       ` Tim X
2011-02-24  0:04                         ` trebol55555
2011-02-24  3:48                         ` Cthun
2011-02-23  9:23                   ` Brendan Halpin
2011-02-23 17:15                   ` Rafe Kettler
2011-02-23 18:33                     ` Ilya Zakharevich
2011-02-23 18:47                       ` Deniz Dogan
2011-02-23 22:08                       ` Cthun
2011-02-23 22:07                     ` Cthun
2011-02-23 23:46                       ` Pascal J. Bourguignon
2011-02-24  3:53                         ` Cthun
2011-02-24  3:58                     ` Stefan Monnier
2011-02-24  7:06                       ` Leo
2011-02-24 15:58                       ` Richard Riley
2011-02-24 17:20                         ` despen
2011-02-24 14:43                     ` fortunatus
2011-02-24 16:43                       ` Xah Lee
2011-02-24 17:48                         ` Eric Schulte
2011-02-24 18:38                           ` Cthun
2011-02-24 23:14                           ` Xah Lee
2011-02-25  1:44                             ` javax.swing.JSnarker
2011-02-25  7:16                             ` Alan Mackenzie
2011-02-25 12:11                               ` rusi
2011-02-25 18:54                                 ` Alan Mackenzie
2011-02-25 23:19                                   ` Thien-Thi Nguyen
2011-02-26  4:01                                   ` rusi
2011-02-24 18:37                       ` javax.swing.JSnarker
2011-02-24 22:04                       ` Deniz Dogan
2011-02-23  7:16                 ` D Herring
2011-02-23  5:22               ` Tim X
2011-02-23 15:13                 ` Cthun
2011-02-23 18:06                   ` Eli Zaretskii
2011-02-23 19:22                   ` Jason Earl
2011-02-23 22:18                     ` Cthun
2011-02-23 23:54                       ` Jason Earl
2011-02-24  4:05                         ` Cthun
2011-02-24  5:19                   ` PJ Weisberg
2011-02-24  5:38                     ` Todd Wylie
2011-02-25  2:48                       ` PJ Weisberg
2011-02-25 18:43                 ` Jim Janney
2011-02-26  6:05                   ` Cthun
2011-02-26  7:21                     ` PJ Weisberg
2011-02-26 20:13                     ` Stefan Monnier
2011-02-27  6:21                       ` Cthun
2011-02-27  8:08                         ` David Kastrup
2011-02-27 15:28                           ` Cthun
2011-02-27 15:46                             ` David Kastrup
2011-02-27 15:51                               ` Cthun
2011-02-27 17:28                                 ` Julian Bradfield
2011-02-27 19:52                                   ` Cthun
2011-02-27 20:41                                     ` Alan Mackenzie
2011-02-27 21:02                                       ` Cthun
2011-02-27 20:59                                     ` Robert D. Crawford
2011-02-27 20:58                                   ` Tim Bradshaw
2011-02-27 21:02                                     ` Cthun
2011-02-27 21:12                                       ` David Kastrup
2011-02-27 22:02                                         ` Cthun
2011-02-28  3:51                                           ` Stefan Monnier
2011-02-28  9:53                                             ` David Kastrup
2011-02-28 18:04                                               ` Cthun
2011-02-28 19:03                                                 ` Eric Abrahamsen
     [not found]                                                 ` <mailman.2.1298919859.18999.help-gnu-emacs@gnu.org>
2011-02-28 19:41                                                   ` Ted Zlatanov
2011-02-28 20:04                                                 ` David Kastrup
2011-03-01  0:06                                                   ` Cthun
2011-03-01  0:14                                                     ` TheFlyingDutchman
2011-03-01  0:16                                                       ` Cthun
2011-03-01  0:28                                                         ` TheFlyingDutchman
2011-03-01  1:49                                                           ` Sean Sieger
2011-03-01  9:27                                                     ` David Kastrup
2011-03-01 13:52                                                       ` Cthun
2011-03-01 22:51                                                         ` TheFlyingDutchman
2011-03-01 23:43                                                           ` Cthun
2011-03-02  8:22                                                             ` David Kastrup
2011-03-02 14:33                                                               ` Cthun
2011-03-02 21:51                                                                 ` Cthun-bot discussion TheFlyingDutchman
2011-03-02 22:20                                                                   ` Cthun
2011-03-02 23:54                                                                     ` TheFlyingDutchman
2011-03-03  0:05                                                                       ` What's your favourite *under_publicized* editing feature ofEmacs? Cthun
2011-03-03  0:06                                                                         ` Jason Earl
2011-03-03  0:12                                                                           ` Cthun
2011-03-03 10:04                                                                           ` Marco Antoniotti
2011-03-03 10:21                                                                             ` David Kastrup
2011-03-03 13:43                                                                               ` Cthun
2011-03-03 13:42                                                                             ` Cthun
2011-03-02  8:39                                                             ` Cthun-bot discussion TheFlyingDutchman
2011-03-02 14:35                                                               ` What's your favourite *under_publicized* editing feature ofEmacs? Cthun
2011-03-01 12:57                                                     ` Antony
2011-02-28 18:02                                             ` Cthun
2011-02-27 16:05                             ` Perry Smith
2011-02-27 17:22                               ` Eric Abrahamsen
2011-02-27 18:16                                 ` Joe Riel
2011-02-27 23:17                               ` PJ Weisberg
     [not found]                               ` <mailman.8.1298827366.31652.help-gnu-emacs@gnu.org>
2011-02-28  3:58                                 ` Stefan Monnier
2011-02-28  4:37                                   ` rusi
2011-02-28 23:31                                     ` Stefan Monnier
2011-03-01  2:43                                       ` rusi
2011-02-28 19:41                                   ` Uday Reddy
     [not found]                             ` <mailman.3.1298822767.31652.help-gnu-emacs@gnu.org>
2011-02-27 17:11                               ` rusi
2011-02-27 20:52                         ` Tim Bradshaw
2011-02-27 20:59                           ` Cthun
2011-02-27  0:08                     ` Tim Bradshaw
2011-02-27  6:21                       ` Cthun
2011-02-28 11:38                     ` Jim Janney
2011-02-28 12:45                       ` Petter Gustad
2011-02-28 18:11                       ` Cthun
2011-03-01  4:32                         ` Jim Janney
2011-03-01  6:18                           ` rusi
2011-03-01 14:09                             ` Cthun
2011-03-01 14:05                           ` Cthun
2011-03-01 14:21                             ` Mario Lassnig
2011-03-01 15:02                               ` Cthun
2011-03-01 15:06                                 ` rusi
2011-03-01 15:07                                   ` Cthun
2011-03-01 15:26                                     ` David Kastrup
2011-03-01 16:43                                       ` Ted Zlatanov
2011-03-01 21:20                                       ` Cthun
2011-03-01 21:24                                         ` TheFlyingDutchman
2011-03-01 21:33                                           ` Cthun
2011-03-01 22:17                                             ` TheFlyingDutchman
2011-03-01 23:25                                       ` Thien-Thi Nguyen
2011-03-01 15:12                                 ` Mario Lassnig
2011-03-01 21:21                                   ` Cthun
2011-03-01 21:23                                     ` TheFlyingDutchman
2011-03-02  8:11                                     ` Mario Lassnig
2011-03-02 15:05                                       ` Cthun
2011-03-10 22:56                                     ` Susan Calvin
2011-03-11  0:07                                       ` Cthun
2011-03-01 14:31                             ` David Kastrup
2011-03-01 15:06                               ` Cthun
2011-03-01 17:39                             ` Jim Janney
2011-03-01 21:30                               ` Cthun
2011-03-01 22:19                                 ` TheFlyingDutchman
2011-03-01 22:37                                   ` Cthun
2011-03-01 22:47                                     ` TheFlyingDutchman
2011-03-01 23:46                                       ` Cthun
2011-03-02  0:02                                         ` Cthun-bot discussion TheFlyingDutchman
2011-03-02  1:17                                           ` PJ Weisberg
2011-03-02 15:08                                           ` What's your favourite *under_publicized* editing feature ofEmacs? Cthun
2011-03-02  5:52                                         ` Bot Tester
2011-03-02  8:42                                         ` Cthun-bot discussion TheFlyingDutchman
2011-03-02 15:10                                           ` What's your favourite *under_publicized* editing feature ofEmacs? Cthun
2011-03-02 15:54                                             ` Bastien
2011-03-04  0:52                                           ` Cthun-bot discussion Peter Keller
2011-03-04  2:43                                             ` Cthun
2011-03-04  5:55                                             ` TheFlyingDutchman
2011-03-04 18:00                                               ` What's your favourite *under_publicized* editing feature ofEmacs? Cthun
2011-03-04 21:31                                                 ` Cthun-bot discussion TheFlyingDutchman
2011-03-05  8:39                                                   ` David Kastrup
2011-03-02  0:36                                 ` What's your favourite *under_publicized* editing feature ofEmacs? Jim Janney
2011-03-02 15:06                                   ` Cthun
2011-03-02 19:52                                     ` Jim Janney
2011-03-02 20:01                                       ` Cthun
2011-03-02  1:00                                 ` What's your favourite *under_publicized* editing feature of Emacs? Steve
2011-03-02  5:34                                   ` PJ Weisberg
2011-02-23  7:01               ` What's your favourite *under_publicized* editing feature ofEmacs? Alan Mackenzie
2011-02-28 12:42           ` Sean Sieger
     [not found]           ` <mailman.6.1298896994.11648.help-gnu-emacs@gnu.org>
2011-02-28 14:16             ` David Kastrup
2011-02-28 14:47               ` Sean Sieger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ae23d097-ee87-41b1-9bd9-f74c6cbbd1aa@l22g2000pre.googlegroups.com \
    --to=xahlee@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.