unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: John Yates <john@yates-sheets.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Tim Cross <theophilusx@gmail.com>,
	Emacs developers <emacs-devel@gnu.org>
Subject: Re: Keybinding styles (was: [External] : Re: Gitlab Migration)
Date: Sun, 5 Sep 2021 15:03:54 -0400	[thread overview]
Message-ID: <CAJnXXoi8p0MoQzdSPcw5gTiC6GOzT83YPrRz+E6oeMJ_TSmNJg@mail.gmail.com> (raw)
In-Reply-To: <jwvv93gjxdo.fsf-monnier+emacs@gnu.org>

On Sat, Sep 4, 2021 at 9:26 AM Stefan Monnier <monnier@iro.umontreal.ca> wrote:
>
> I keep wishing someone came up with a clever way for modes to specify
> their key-bindings in such a way that Emacs can automatically derive from
> it the keys to use "normally" as well as the keys to use in Evil or the
> keys to use in god-mode, or the keys to use in this hypothetical new
> `really-cua-mode`, ...
> So as to finally address this long-term maintenance challenge.

I would like to suggest that key bindings are the most contentious
aspect of Emacs.  We have numerous examples of efforts to offer
alternative binding schemes.  But it is the "default" bindings that
engender all of the "Sturm und Drang".  The keystrokes in these
default bindings are distinguished in tutorials, package development,
documentation, and casual communication over those in other binding
schemes.

Many regard those keystrokes as a fundamental Emacs feature.
Yet, I believe, whatever one's view of vi/vim, none of us would deny
that a user with evil-mode enabled is still truly using Emacs.  What
matters is that such a user is invoking elisp functions to work with
Emacs buffers.  To me, that is the essence of being an Emacs user.

As a first step towards Stefan's wish, might I suggest that we
consider what it would take to move to a world in which other
binding schemes are considered fully equal peers of our current
default bindings?  Once we internalize that model, we can then
work on abstractions to describe the relationships between the
functions exposed by a given package (flat, sub-groups) and
their relationship to overarching concepts like navigation.

/john

PS: For the record, I use the default bindings.



  parent reply	other threads:[~2021-09-05 19:03 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-03 18:00 [External] : Re: Gitlab Migration Drew Adams
2021-09-03 20:06 ` Stefan Kangas
2021-09-03 22:49 ` Stefan Monnier
2021-09-04  2:00   ` Tim Cross
2021-09-04 13:26     ` Keybinding styles (was: [External] : Re: Gitlab Migration) Stefan Monnier
2021-09-04 13:39       ` Dmitry Gutov
2021-09-04 14:25         ` Keybinding styles Stefan Monnier
2021-09-04 15:44       ` Keybinding styles (was: [External] : Re: Gitlab Migration) Yuan Fu
2021-09-04 15:50         ` Eli Zaretskii
2021-09-04 15:55           ` Drew Adams
2021-09-04 16:07           ` Yuan Fu
2021-09-04 16:19             ` Eli Zaretskii
2021-09-06  3:07             ` Richard Stallman
2021-09-06 11:28               ` Dmitry Gutov
2021-09-04 19:55           ` Keybinding styles Daniel Fleischer
2021-09-04 20:52             ` Stefan Kangas
2021-09-05  7:17               ` tomas
2021-09-04 16:09         ` Bird
2021-09-04 20:48         ` Keybinding styles (was: [External] : Re: Gitlab Migration) Tim Cross
2021-09-05 19:03       ` John Yates [this message]
2021-09-06  4:34         ` Eli Zaretskii
2021-09-07  3:16         ` Richard Stallman
2021-09-07 12:02           ` John Yates
2021-09-08  3:29             ` Richard Stallman
2021-09-08 12:15               ` Keybinding styles André A. Gomes
2021-09-08 13:18                 ` Eli Zaretskii
2021-09-08 20:37                 ` John Yates
2021-09-09  5:39                   ` Eli Zaretskii
2021-09-15 13:40                     ` André A. Gomes
2021-09-15 14:26                       ` Stefan Kangas
2021-09-15 15:36                       ` Eli Zaretskii
2021-09-15 20:15                       ` Richard Stallman
2021-09-15 21:29                         ` Alexandre Garreau
2021-09-16  5:20                           ` Eli Zaretskii
2021-09-16  5:00                         ` Eli Zaretskii
2021-09-09  3:09                 ` Richard Stallman
2021-09-04 16:05     ` [External] : Re: Gitlab Migration Stefan Kangas
2021-09-04  2:20   ` Drew Adams
2021-09-04 13:14     ` Stefan Monnier
2021-09-04 14:58       ` Drew Adams
2021-09-04 16:10         ` Stefan Monnier
2021-09-04 16:40           ` Drew Adams
2021-09-05 19:27   ` John Yates
2021-09-07  3:16     ` Richard Stallman
2021-09-07 15:31       ` Barry Fishman
2021-09-09  3:07         ` Richard Stallman
2021-09-09 14:07           ` André A. Gomes

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=CAJnXXoi8p0MoQzdSPcw5gTiC6GOzT83YPrRz+E6oeMJ_TSmNJg@mail.gmail.com \
    --to=john@yates-sheets.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=theophilusx@gmail.com \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).