emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Key bindings proposal


From: Uday S Reddy
Subject: RE: Key bindings proposal
Date: Mon, 2 Aug 2010 15:59:30 +0100

Drew Adams writes:

> I really do not want to go down the rat hole of this thread.  But I
> will make a couple of comments.  Suffice it to say, beyond these
> comments, that I agree with those old diehards ;-) who have been
> trying to say that this thread is misguided in general.

Dear Drew, the point of this thread is to explore possible technical
solutions to the problems that have been raised in the previous
threads: "emacs learning curve", "efforts to attract more users" etc.
Instead of having religious debates about which key bindings are
better and which bindings should be used and whether there is any need
to change key bindings at all etc., my idea is that, if Emacs provides
the right set of technical tools allowing users to rebind keys, then
more people will be satisfied.  So, this is a *technical* discussion.
If people want to continue the religious debates, they can go back to
the old threads and extend them.

> In many or most cases, the mode's specialized version of a command
> does not simply replace that command in all situations or for all
> purposes.

As I said in my reponse to Tassilo, there is no intent to replace the
global search commands.  `M-x isearch' is meant to represent a generic
operation that will be defined in specific modes like dired (and
Buffer menu, VM, Gnus etc.)  People that like to type `M-s a C-s' can
happily go on typing it.  But that doesn't have to be the only way to
invoke this function.

> Menus.  Menus.  Menus.  Menus are your friend.  Menus are an
> excellent way to _discover_ features, including command names and
> key bindings.

Glad we agree on something!

> Could discovery be even easier?  Yes, IMO.  Icicles users have the
> equivalent of `apropos' available on the fly every time they use the
> minibuffer for anything.  Could the menus be improved?  Yes.  Could
> menu access from the keyboard be improved?  Yes, IMO (though `tmm'
> is OK) - La Carte, especially together with Icicles, gives you
> excellent menu access and menu discovery from the keyboard.
> 
> And other improvements are always possible.  But Emacs is _better_,
> not worse, than most apps wrt command discovery and access.

Oh, that self-congratulation again!  At least on Windows, you don't
need any special libraries to access the stadard menubar by keyboard.
If you press the Alt-key once, the menubar gets selected.  Then you
type keys as follows (in the dired-mode menubar):

  o - goes to Options
  o - goes to Operate
  RET - selects the Operate menu
  i - goes to Isearch Files
  RET - selects Isearch Files

A Windows developer or Java developer that cares about access would
have also associated key strokes with each menu title and menu item.
These appear as underscored characters in the menus.  For instance,
one could have chosen `p' in `Operate' as the selected key
stroke. Then typing `p' would have taken you directly to `Operate'
without stopping at `Options'.  When there are unique key strokes
associated with the menu items, no RET character is needed for
selection.  So, in an accessible Windows application, the above
navigation could have been done with 2 keystrokes instead of the 5
that Emacs requires.  This is something like 10-15 year old
technology.  Just open Thunderbird and play with keys to navigate the
menus.  You will get the idea.

Do you still want to claim that Emacs is better than most apps for
access?

When I talk about associating key strokes with menu items, people here
don't even seem to know what I am talking about!

> The complaints here about weird Emacs keybindings are surprising to
> me, coming from you, Uday, who are familiar with Emacs.  They sound
> like the superficial comments of a vi'er or someone unfamiliar with
> Emacs - someone who has the impression that one is _required_ to use
> `M-x a C-s' in order to search.  It is trivial to use `M-x', trivial
> to use the menu, and trivial to bind a simpler key to something that
> you use often.

I didn't "complain" about the weird key bindings.  I gave the weird
bindings as an example to talk about the over-reliance of Emacs on key
bindings.  Obviously the developers went to the weird keys after all
the normal keys were exhausted.  But, unless there were idle normal
keys, the `remap' idea - proposed by Stefan as a possible solution for
local key bindings - is ineffective.  At best, it can protect the
global key bindings as you go down to modes.  But it doesn't help the
problem of local key bindings.

What I have been arguing for is the idea of abstract commands (a
variant of Oscar's "actions").  It is a clean solution,
well-understood in programming language theory, and I think it can be
made to work for Emacs modes.

> Try Icicles and La Carte.  You can easily sort items on the fly and
> you can easily get to any item, no matter where it is in the menu
> tree.

Can they match the 3-key stroke access (Alt p i) to "Isearch Files" in
the dired menu?

> > On second thought, perhaps the menus are not as disorganized as I
> > had imagined. I haven't yet begun to use them seriously.
> 
> Please do.  You will thank yourself.  And you will no doubt file
> menu bugs or enhancement requests or provide patches for
> improvements.  Welcome.

I will be quite happy to use menus if the menu items have keystrokes
associated with them like on Windows & Java applications.  Without
that, they are quite inefficient.  

I will check to see if La Carte and Icicles can help.

Cheers,
Uday



reply via email to

[Prev in Thread] Current Thread [Next in Thread]