My only real exposure to EMACS is GNU EMACS on LINUX RH6.1, NT, and Win95. So this information pertains to my limited knowledge of GNU EMACS.

EMACS is basically a meta-editor or a glyph based symbol processing tool.

EMACS function is defined mostly by using a dialect of LISP to program it. LISP affords a lot of power, but exacts a price in CPU and memory. LISP also depends upon garbage collection, so EMACS (when processing) heavily processing the mark and sweep garbage collection may halt you for a second or two.

EMACS use is easy enough to pick up for basic stuff, by simply going through the tutorial, C-h <wait for option request> t.

EMACS usally has support for creating and navigating file types using command sequences that alte their meaning based on file types and extensions loaded. For example based on how you configure it you may have commands for jumping to each end of a sentence in a text file or end of a statement in a Java file.

EMACS has multi-language character set support, however I am not sure to what degree.

EMACS can just be used, as is. However, you owe it to yourself to learn how to do even moderate customizations that help you work better.

The proof that the open source community is better at everything... even at producing bloat.

Emacs is the primary editor of the so-called "GNU Operating System". It runs on just about every platform out there, including many Unix variants and Windows. While it is often likened to an operating system itself, the official description is as an advanced, self-documenting, customizable, extensible real-time display editor.

Extensible is an understatement. You can go beyond simple customization and write entirely new commands and programs in the Lisp language to be run by Emacs's own Lisp interpreter. Almost any part of Emacs can be replaced without making a separate copy of all of Emacs. Most of the editing commands of Emacs are written in Lisp already; the few exceptions could have been written in Lisp but are written in C for efficiency. Of course, being a GNU program, all the source code, both C and Lisp, is readily available.

"Self-documenting" means that at any time you can type a special character, 'Control-h', to find out what your options are. All Emacs commands are documented in the Lisp source code, somewhat similar to the javadoc documentation system.

Emacs originally was an acronym for Editor MACroS. RMS says he "picked the name Emacs because 'E' was not in use as an abbreviation on ITS at the time." The first Emacs was a set of macros written in 1976 at MIT by RMS for the editor TECO under ITS on a PDP-10. Emacs was started by Guy Steele as a project to unify the many divergent TECO command sets and key bindings at MIT, and completed by RMS.

The first port of Emacs to C was Gosling Emacs, written by the Java guy himself. Gosling Emacs was commercialized by Unipress, somewhat unsuccessfully, and has been superceded by the C port of GNU Emacs.

A short time before Emacs 19 was released, a company called Lucid forked the GNU code and produced Lucid Emacs. That product has evolved into XEmacs. Currently, the two Emacsen, GNU and X, are developed seperately, but remain largely compatible. Recently, both have integrated MULE, the Multi-Lingual Enhancement to Emacs, making them both full Unicode editors, capable of displaying and editing non-latin character sets.

Emacs remains a popular editor, particularly with programmers, who appreciate its rich command set and extensibility. Besides editing text, Emacs has a wide range of other capabilities. From within Emacs, one can send an email, read USENET news, run a shell, compile a program, play a number of games, and even browse the web. Along with vi, it is one of the two editors rarely absent from any Unix system.

Sources:

  • Emacs FAQ - http://www.gnu.org/software/emacs/emacs-faq.text
  • Emacs Manual - http://www.gnu.org/manual/emacs/index.html
  • XEmacs History - http://www.xemacs.org/About/index.html

elvish = E = email

EMACS /ee'maks/ n.

[from Editing MACroS] The ne plus ultra of hacker editors, a programmable text editor with an entire LISP system inside it. It was originally written by Richard Stallman in TECO under ITS at the MIT AI lab; AI Memo 554 described it as "an advanced, self-documenting, customizable, extensible real-time display editor". It has since been reimplemented any number of times, by various hackers, and versions exist that run under most major operating systems. Perhaps the most widely used version, also written by Stallman and now called "GNU EMACS" or GNUMACS, runs principally under Unix. (Its close relative XEmacs is the second most popular version.) It includes facilities to run compilation subprocesses and send and receive mail or news; many hackers spend up to 80% of their tube time inside it. Other variants include GOSMACS, CCA EMACS, UniPress EMACS, Montgomery EMACS, jove, epsilon, and MicroEMACS. (Though we use the original all-caps spelling here, it is nowadays very commonly `Emacs'.)

Some EMACS versions running under window managers iconify as an overflowing kitchen sink, perhaps to suggest the one feature the editor does not (yet) include. Indeed, some hackers find EMACS too heavyweight and baroque for their taste, and expand the name as `Escape Meta Alt Control Shift' to spoof its heavy reliance on keystrokes decorated with bucky bits. Other spoof expansions include `Eight Megabytes And Constantly Swapping' (from when that was a lot of core), `Eventually malloc()s All Computer Storage', and `EMACS Makes A Computer Slow' (see recursive acronym). See also vi.

--The Jargon File version 4.3.1, ed. ESR, autonoded by rescdsk.

Emacs has various extremely nice packages available for it, all written in the powerful and interesting programming language, elisp. Here are some of my favorites:

  • Gnus - complete E-mail and Usenet News reader. Well, that's an understatement. It's more like a way of life. Or deeper meaning of "existence". Or something. I never figured out why they called nedit a "nirvana editor". This editor is more like it. Maybe.
  • Mailcrypt - very easy interface for PGP and GnuPG.
  • psgml - nice HTML and SGML editing.
  • dictionary - interfaces with dict service, integrating a dictionary to the editor. (Somewhat bad interface, though, and doesn't fully do MULE - my ...)
  • w3 aka "Gnuscape Navigator". A web browser in Emacs. Not really great one, even in XEmacs where it has graphics support, but will do if you have nothing else... Using E2 is a sheer impossibility with it. (I think it could be used for building an integrated noding environment....)

Of course, there are some packages for Emacsen that are just plain crazy, amazing, impressive, or at least fun:

  • doctor (Well, they say LISP is good for AI. This one isn't "intelligent", but is close enough. =)
  • dissociated press, spook and yow (good commands for creating "interesting" text...)
  • TiMidity (MIDI player/soft synth, that doesn't have an interactive note display mode - except if you use the emacs frontend!)
  • Emacs Elite (Well, no 3D engine, but at least the trading works...)

Log in or register to write something here or to contact authors.