2010-06-19

emacs cua mode

2010-06-19

On Jun 19, 2:06 pm, Evans Winner wrote:
> ,------ const451 wrote ------
> |   Is there a plugin that uses standard key shortcuts for
> |   text manipulation such as Ctrl-C, Ctrl-V, Ctrl-Z, etc.?
> |   I think they are faster to use than the default
> |   shortcuts in emacs.
>
> Do you think they are faster to use than the default
> bindings in Emacs, or do you mean that they are faster for
> you to use at the moment because they are what you are used
> to?
>
> In any case,
>
>     M-x cua-mode RET

> -- will probably do more or less what you want.  CUA stands
> for Common User Interface and was designed by IBM in the
> 1980s[1].  cua-mode changes some default Emacs bindings to
> match CUA standards.

Emacs's cua-mode, is named after the IBM's Common User Accesss
standard. However, according to Wikipedia
http://en.wikipedia.org/wiki/IBM_Common_User_Access
the IBM CUA standard does not say cut/copy/paste are X C V keys. Quote:

The Cut command is ⇧ Shift+Del; Copy is Ctrl+Ins; Paste is ⇧ Shift+Ins;

The Z X C V keys for undo/cut/copy/paste is popularized by Apple starting in mid 1980s.

As a side note, emacs's naming of cua-mode is very bad. Because:

• very few people today knows what CUA is. Among all people who makes a living by coding, i'd say less than 0.1% knew what CUA means.

• emacs's cua-mode's behavior is not IBM's CUA standard at all. All it does is basically just the X C V keys, and these may not even be part of IBM's CUA.

Emacs's developers named it cua-mode probably because of a ergo/cult problem. They needed a name for this widely needed mode, but naming it anyhing that might relate to Microsoft Windows or Apple is a political problem to FSF/GNU. (note: Richard Stallman HATES Microsoft and also HATES Apple. GNU's stance against Microsoft is well known, from GNU/Richard's writings especially in 1980s and 1990s. Throughout 1990s, GNU boycotted Apple partly becuase Apple sued Microsoft for copying Apple's GUI interface. This boycot was officially withdrawn in i think early 2000s.)

The cua-mode is probably better named XCV-mode or copy-paste-key-mode, and the menu name should be “XCV keys for Cut/Copy/Paste”. The mode name change is probably too late, but the menu name change can still be done. The name “XCV keys for Cut/Copy/Paste” does not relate any commercial organization, and is easy for people to understand what it means, and it more accurately describe what cua-mode do.

also, the cua-mode has a major problem in that it supports XCV but not Z for undo, which is also widely asked for, and standard across Microsoft/Mac/Linuxes today.

> CUA does not scale very well, but is
> popular because it is implemented to some degree on
> Microsoft operating systems and many people first learned
> the idea of doing things with the keyboard in that context.
> People tend to stay with what they learn first.

CUA does not scale very well? Please provide detail on this when saying this kinda things.

> By the way, and just for your information, Emacs users
> typically do not call Emacs Lisp packages "plugins."  More
> often they call them libraries or packages.

Calling it plugin is not emacs convention but i think is very good terminology. It is intuitive, and widely used. For example, browsers used the term plugins since 15 years ago. Mathematica, a programing language calls its extra packages/libraries plugins or add-ons. Firefox also clarified a bit in their terminology of plugin vs add-on starting about 1 or 2 years ago. e.g. plugin are those like java or flash engine, while addon often are little user oriented utilities.

plug-in and add-on are intuitive terms that anyone can easily understand what they mean just by the word itself. While, package, library, module, is more oriented to software engineering in a technical context.

> If the code
> implements a major or minor mode, they typically call it a
> "mode."  They also usually don't use the term "shortcut,"
> possibly because that seems to imply some other manner of
> input that is privileged over use of the keyboard.  The
> phrase "key binding" is more often used, because that is
> what you do: you bind a function to a key or key
> combination.

Similar to the library/package/module vs plug-in/add-on argument, same applies here. The term “Keyboard shortcut” or “hotkey” is suitable in the context of users using a software application, while keybinding is suitable for programing and software engineering.

“keybinding” is in fact logically incorrect in the user context of pressing a key. When you press a key to invoke a command, you are not binding a key. You are using a KEY that has a keybinding.

These distinctions are important.

I'm writing this because it is common in emacs community to sting new users about these kinda things... and i think it's very harmful to emacs's health. It just turns away users and keep brewing the emacs cult.

Xah
∑ http://xahlee.org/

No comments:

Post a Comment