unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: pjb@informatimago.com, Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
Subject: Re: Yet another discussion on improving the first time user experience
Date: Mon, 23 Sep 2013 14:10:46 +0900	[thread overview]
Message-ID: <87eh8g2kdl.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <87eh8gzee5.fsf@yandex.ru>

Dmitry Gutov writes:

 > In all likelihood, a more experienced person who has many keychords
 > ingrained in their workflow would find it harder to adapt to new ones
 > than, say, a first-year CS student who's just picking up their first
 > serious editor.

This is certainly true[1], but most "experienced persons" are forced
to use CUA bindings elsewhere.  It's not the basic "if you've got a
shift key and enough time you can mark anything" keystrokes that are
the problem.  It's that if you restrict yourself to what cua-mode
provides (last I looked) Emacs is hardly more powerful than Notepad
*as an interactive editor*.  Would it really be worth using Emacs if
you were limited to that?!

What makes Emacs special are things like defun movement and marking,
and they're not very discoverable *from CUA*.  Users who adhere to
RMS's (?) original keystrokes have a "theory" of the keymap.  Mostly
initial-mnemonic letters[2] combine with modifiers.  The modifiers
typically have systematic connections to syntactic objects in the
buffer: characters, words, symbols, sexps; lines, sentences, defuns,
paragraphs.[3]  People who start from CUA are going to have to "start
over" with a new theory of the keymap to learn to use those powerful
commands.

While I don't understand the disgust that some people express for the
standard Emacs keymap, I do think there's something to the "hard to
learn" complaints.  To provide an easier path to journeyman level of
Emacs usage (by which I mean using movement by syntactic objects other
than characters, words, and visual lines[4]), there needs to be a
"theory of the keymap" for CUA as powerful as the theory provided by
the traditional Emacs bindings which extends CUA to cover the editing
features provided by Emacs.

Footnotes: 
[1]  Modulo the "serious" part.  Microsoft Word *is* a serious editor,
I just strongly disagree with it about what should be taken seriously
in the editing task in general, not just for programs.  And sad but
true, yes, I've seen students in a department called "Systems and
Information Engineering" use Word to write programs.

[2]  Eg, "f" for forward motion.

[3]  Of course this isn't 100% consistent -- with C-w and M-w the
modifier changes the operation, not the object -- but it was enough
for me.

[4]  This is a nasty pitfall.  By now most computer users are used to
the paradigm of automatically wrapping text to fit the screen, and
having paragraphs demarcated by newline characters.  Then "lines" are
"what you see on screen", rather than the regions between newline
characters in the buffer.




  parent reply	other threads:[~2013-09-23  5:10 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-22  6:18 Yet another discussion on improving the first time user experience JMorte
2013-09-22 11:41 ` Andreas Röhler
2013-09-22 16:04   ` Pascal J. Bourguignon
2013-09-22 17:27     ` Thien-Thi Nguyen
2013-09-22 18:03       ` Dmitry Gutov
2013-09-22 18:29         ` Lennart Borgman
2013-09-22 19:54       ` Juanma Barranquero
2013-09-22 17:50     ` Dmitry Gutov
2013-09-22 17:53       ` Pascal J. Bourguignon
2013-09-22 19:21       ` Eli Zaretskii
2013-09-22 22:21         ` Dmitry Gutov
2013-09-22 23:59           ` Jay Belanger
2013-09-23  0:18             ` Lennart Borgman
2013-09-23  0:28               ` Jay Belanger
2013-09-23  6:03               ` Andreas Röhler
2013-09-23  7:07                 ` Eli Zaretskii
2013-09-23  7:30                   ` Andreas Röhler
2013-09-23  8:20                     ` Eli Zaretskii
2013-09-23  8:31                     ` Eli Zaretskii
2013-09-23  9:26                       ` Andreas Röhler
2013-09-23  9:30                         ` Eli Zaretskii
2013-09-23  9:41                           ` Andreas Röhler
2013-09-23 14:04                     ` Pascal J. Bourguignon
2013-09-23 14:23                       ` Andreas Röhler
2013-09-24 13:10                       ` Xue Fuqiao
2013-09-24 13:14                         ` Pascal J. Bourguignon
2013-09-24 17:28                         ` Davis Herring
2013-09-23  6:50               ` Eli Zaretskii
2013-09-23 10:29                 ` Lennart Borgman
2013-09-23 11:04                   ` Eli Zaretskii
2013-09-23 11:40                     ` Lennart Borgman
2013-09-23 11:58                       ` Eli Zaretskii
2013-09-23 13:43                         ` Lennart Borgman
2013-09-23 14:21                           ` Jan Djärv
2013-09-23 14:31                             ` Lennart Borgman
2013-09-23 14:49                               ` Alp Aker
2013-09-24 12:35                                 ` Lennart Borgman
2013-09-24 14:11                                   ` Jan Djärv
2013-09-24 14:21                                     ` Lennart Borgman
2013-09-24 17:31                                       ` Jan Djärv
2013-09-24 17:48                                         ` Lennart Borgman
2013-09-24 18:06                                           ` Jan Djärv
2013-09-24 19:21                                             ` Lennart Borgman
2013-09-25 15:42                                           ` chad
2013-09-25 16:32                                             ` Lennart Borgman
2013-09-23 14:37                           ` Eli Zaretskii
2013-09-24 12:36                             ` Lennart Borgman
2013-09-23 16:59                 ` Richard Stallman
2013-09-23  5:10           ` Stephen J. Turnbull [this message]
2013-09-24  8:39             ` Juri Linkov
2013-09-23  6:47           ` Eli Zaretskii
2013-09-24 12:55             ` Xue Fuqiao
2013-09-22 15:32 ` Drew Adams

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=87eh8g2kdl.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --cc=dgutov@yandex.ru \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=pjb@informatimago.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).