GNU Emacs is an extensible, customizable text editor—and more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing. The features of GNU Emacs include:
- Content-sensitive editing modes, including syntax coloring, for a wide variety of file types including plain text, source code, and HTML.
- Complete built-in documentation, including a tutorial for new users.
- Support for many languages and their scripts, including all the European “Latin” scripts, Russian, Greek, Japanese, Chinese, Korean, Thai, Vietnamese, Lao, Ethiopian, and some Indian scripts.
- Highly customizable, using Emacs Lisp code or a graphical customization interface.
- A large number of extensions that add other functionality, including a project planner, mail and news reader, debugger interface, calendar, and more. Many of these extensions are distributed with GNU Emacs; others are available separately.
Emacs was originally implementated in 1976 on the MIT AI Lab's Incompatible Timesharing System (ITS), as a collection of TECO macros. The name “Emacs” was originally chosen as an abbreviation of “Editor MACroS”. For a longer explanation, as well as a brief history of Emacs, see the Emacs FAQ (html, plain text). This version of Emacs, GNU Emacs, was originally written in 1984 and is still actively developed.
- Current Stable
Release: 22.2 (March 26, 2008).
- Emacs version 22 has a wide variety of new features, including GTK+ toolkit support, enhanced mouse support, a new keyboard macro system, improved Unicode support, and drag-and-drop operation on X, plus many new modes and packages including a graphical user interface to GDB, Python mode, the mathematical tool Calc, and the remote file editing system Tramp.
- For more info, read its News file.
- To obtain it, visit the obtaining section.
- Future Versions
- Release History
Emacs 22 runs on these operating systems regardless of the machine type:
GNU Emacs also supports several other operating systems, including Berkeley Unix (BSD) 4.1-4.4, Esix, Microport, SCO Unix, System V releases 0 to 4.0.4, Uniplus 5.2, and Xenix. There is code to support some older machine types that run special operating systems developed by the computer manufacturer (often a variant of Unix); however, in many cases we don't know whether they still work. The definitive reference for this is the MACHINES file, which is also distributed with GNU Emacs; this file also lists the special requirements for compiling GNU Emacs on these systems.
Obtaining/Downloading GNU Emacs
- Printed manuals are available for purchase. The Free Software Foundation publishes two manuals about GNU Emacs: the Emacs Manual and An Introduction to Emacs Lisp Programming. A third manual, the Emacs Lisp Reference Manual, is currently out of print.
- Read Emacs manuals online. The Emacs Manual, An Introduction to Emacs Lisp Programming, and the Emacs Lisp Reference Manual can be read online. Several other manuals, which document major modes and other optional features of Emacs, are also available online.
- All the above manuals can also be viewed, in the Info documentation format, from within Emacs itself. The Emacs distribution also includes the full source code for the manuals, as well as the Emacs Reference Card in several languages.
- The Emacs FAQ can be read online as HTML or plain text. The Emacs on Windows FAQ is also available here. The source code for these FAQs are also part of the Emacs distribution.
- The mailing list email@example.com is specifically for asking for help with GNU Emacs.
- To report bugs, or to contribute fixes and improvements, use the built-in Emacs bug reporter (M-x report-emacs-bug) or send email to firstname.lastname@example.org.
- The Savannah page for Emacs mailing lists lists some more lists related to Emacs. For other GNU mailing lists, including some related to GNU Emacs and its extensions, see http://lists.gnu.org/mailman/listinfo/.
- The newsgroup gnu.emacs.help is specifically for asking for help with GNU Emacs. This newsgroup is linked to the email@example.com mailing list: anything you post on one of them appears on the other as well.
- See Get Help with GNU Software for information on getting help with GNU software in general.
Finding packages for GNU Emacs
If you are looking for Emacs Lisp packages, check out the following resources:
- the Emacs Wiki (see below)
- the Emacs FAQ, under the sections Finding/Getting Emacs and Related packages and Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
The Savannah Emacs page has additional information about Emacs, including CVS access to the Emacs development sources.
The Emacs Wiki is a community website which collects Emacs Lisp code, questions and answers related to Emacs Lisp code and style; introductions to Emacs Lisp packages and links to their sources; complete manuals or documentation fragments; comments on features, differences, and history of different Emacs versions, flavors, and ports; jokes; pointers to clones and Emacs look-alikes, as well as references to other Emacs related information on the Web.
We also have a copy of the 1981 paper by Richard Stallman, describing the design of the original Emacs and the lessons to be learned from it.
There is also a transcript of a speech, My Lisp Experiences and the Development of GNU Emacs given by Richard Stallman at the International Lisp Conference on 28 Oct 2002.