The Modernization of Emacs
Thomas F. Burdick
tburdick at gmail.com
Sun Jun 17 18:36:12 CEST 2007
For the love of dogs, Xah, try to keep up. Aquamacs is an Emacs
distribution that, which not there yet, is at least half way between
"classic" Emacs and a modern Mac UI. You sound ridiculous, like if
you were complaining about Windows not being really graphical, based
on experience with Windows-386 in the era when 95 was already around.
On Jun 17, 5:13 pm, Xah Lee <x... at xahlee.org> wrote:
> [this post is a excerpt from
> The Modernization of Emacs, Xah Lee, 2006-04 athttp://xahlee.org/emacs/modernization.html
> The Modernization of Emacs
> THE PROBLEM
> Emacs is a great editor. It is perhaps the most powerful and most
> versatile text editor. And, besides text editing, it also serves as a
> email application, newsgroup application, ftp application, irc
> application, web browser, shell interface, file management
> application, programable calculator, calendar and personal info
> management application, lisp language system, among other things.
> These seemingly wild functionalities are employed in production daily
> by a significant number of programers around the world. Some calls
> emacs as a Operating System as a joke. (Technically it does not
> qualify because a OS implies management of hardware.).
> If emacs is such a great and powerful text editor why almost nobody
> knows about it? Vast majority of people who need to write will be more
> than happy to use editors other than emacs. Ask a Microsoft Windows
> user. She'll be more than happy to use Microsoft Word↗. If he doesn't
> have MS Word, he'll use NotePad↗ or WordPad↗. If he is a programer,
> most will be more than happy to use any of other graphical editors on
> the Windows platform or any of the Integrated development
> environment↗. Same is true on other operating systems, and new editors
> spring up here and there even though they don't have as much power or
> flexibility as emacs. For example, there are NEdit, JEdit, Eclipse,
> Xcode↗ , or the various associated with languages or third party
> language software, such as Visual Basic or Borland C++.
> Many reasons can be made out of this. For example, emacs is not
> bundled on popular operating systems such as Windows or Mac, which are
> used by some 99% of computer users worldwide. Windows and Mac both
> have simple text editors bundled that will satisfy majority of
> computer users, which are non-professional computer users. (NotePad
> and WordPad on Windows, TextEdit↗ on Mac) For the few professional
> computer users, a majority will need a easy to use, yet powerful
> editor that also does styled text, formatting, and sundry light
> publishing needs such as table layout, simple line graphics drawing,
> embedded images, math formulas. They will choose and adopt Microsoft
> Word for their needs. The tiny percentage that might be interested in
> emacs, are programers. Even among professional programers, a majority
> shy away from emacs.
> A major difficulty among programers who do not use or like emacs, is
> that emacs's user interface is rather esoteric, involving arcane
> terminologies and keystrokes. This is in sharp contrast to the
> thousands of software applications used today, where their User
> Interface are similar and familiar to today's computer users.
> THE COMMON USER INTERFACE
> The following is a excerpt from the Wikipedia article on Common User
> CUA was a detailed specification and set strict rules about how
> applications should look and function. Its aim was in part to bring
> about harmony between MS-DOS applications, which until then had
> implemented totally different user interfaces.
> * In WordPerfect, the command to open a file was [F7], .
> * In Lotus 1-2-3, a file was opened with [/] (to open the menus),
> [W] (for Workspace), [R] (for Retrieve).
> * In Microsoft Word, a file was opened with [Esc] (to open the
> menus), [T] (for Transfer), [L] (for Load).
> * In WordStar, it was [Ctrl]+[K]+[O].
> * In Emacs, a file was opened with [Ctrl]+[x] followed by [Ctrl]+
> [f] (for find-file).
> Some programs used [Esc] to cancel an action, some used it to complete
> one; WordPerfect used it to repeat a character. Some programs used
> [End] to go to the end of a line, some used it to complete filling in
> a form. [F1] was often help but in WordPerfect that was [F3]. [Ins]
> sometimes toggled between overtype and inserting characters, but some
> programs used it for “paste”.
> Thus, every program had to be learned individually and its complete
> user interface memorized. It was a sign of expertise to have learned
> the UIs of dozens of applications, since a novice user facing a new
> program would find their existing knowledge of a similar application
> absolutely no use whatsoever.
> SIMPLE CHANGES
> In the following, i describe some critical changes that are also very
> easy to fix in emacs. If emacs officially adopt these changes, i think
> it will make a lot people, at least programers, like emacs and choose
> emacs as their text editor.
> * Change the keyboard shortcut of Copy & Paste to ctrl-c and ctrl-
> v as to be the same with all modern applications.
> * Change the undo behavior so that there is a Undo and Redo, as
> the same with all modern applications.
> * Get rid of the *scratch* buffer.
> * Change the terminology of “kill” to “cut”, and “yank” to
> * Change the terminology of Meta key to Alt.
> * Make longlines-mode the default editor behavior for any file.
> Things emacs should do now, even though it eventually will do.
> * When opening a HTML document, automatically provide highlighting
> files such as PHP, JSP, et al. This behavior must be automatic without
> requiring user to customize emacs.
> Possible Documentation Change Proposals
> * Reduce the use of the word “buffer” in the emacs documentation.
> Call it “opened file” or “unsaved document”.
> * Switch the terminology of Window and Frame so it is more
> standard. That is, Emacs's “Window” should be called Panes or Frames.
> While Emacs's “Frame” should be termed Window.
> * Change the terminology of keybinding to “keyboard shortcut” in
> emacs documentation. Use the term keybinding or binding only in a
> technical context, such as in elisp documentation.
> x... at xahlee.org
More information about the Python-list