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 variety of file types including plain text, source code, and HTML.
- Complete built-in documentation, including a tutorial for new users.
- Full Unicode support for nearly all human languages and their scripts.
- Highly customizable, using Emacs Lisp code or a graphical 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 24 has a wide variety of new features, including:
- A packaging system and interface (M-x list-packages) for downloading and installing extensions. A default package archive is hosted by GNU and maintained by the Emacs developers.
- Support for displaying and editing bidirectional text, including right-to-left scripts such as Arabic and Hebrew.
- Support for lexical scoping in Emacs Lisp.
- Improvements to the Custom Themes system (M-x customize-themes).
- Unified and improved completion system in many modes and packages.
- Built-in support for GnuTLS, GTK+ 3, ImageMagick, SELinux, and Libxml2.
For more information, read the News file.
Emacs 24 runs on several operating systems regardless of the machine type. The main ones are:
GNU Emacs contains code for supporting several other operating systems and machine types. For more details, see the MACHINES file, which is also distributed with GNU Emacs.
Obtaining/Downloading GNU Emacs
GNU Emacs development is hosted on savannah.gnu.org.
Two Emacs manuals, the GNU Emacs manual and An Introduction to Programming in Emacs Lisp, can be purchased in printed form from the FSF store. These manuals, along with the Emacs Lisp Reference Manual and several other manuals documenting major modes and other optional features, can also be read online. They are also distributed with Emacs in Info format; type C-h i in Emacs to view them.
|GNU Emacs manual||Read Online||Purchase|
|An Introduction to Programming in Emacs Lisp||Read Online||Purchase|
|Emacs Lisp Reference Manual||Read Online||(out of print)|
|Other Emacs manuals||Read Online|
The Emacs distribution includes the full source code for the manuals, as well as several Emacs Reference Cards in various languages.
- To ask for help with GNU Emacs, use the mailing list email@example.com or the newsgroup gnu.emacs.help. The mailing list and newsgroup are linked: messages posted on one appear on the other as well.
- 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. You can browse our bug database at debbugs.gnu.org. For more information on contributing, see the CONTRIBUTE file (also distributed with Emacs).
- For all other queries, consult the list of Emacs-related mailing lists on savannah.gnu.org and the complete list of GNU mailing lists on lists.gnu.org. See Get Help with GNU Software for help with GNU software in general.
The Emacs FAQ contains information about Emacs history, common problems, and how to obtain optional extensions.
Emacs 24 includes a built-in package manager, which you can use
to download additional Emacs extensions. Type M-x
list-packages to view a list of available packages. The default
package archive is hosted by the GNU project; more archives can be
added by customizing the variable
The Emacs Wiki is a community website about using and programming Emacs, including information about optional extensions; complete manuals or documentation fragments; comments on the different Emacs versions, flavors, and ports; and references to other Emacs related information on the Web.
For those curious about Emacs history: 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”. This version of Emacs, GNU Emacs, was originally written in 1984. For more information, see the 1981 paper by Richard Stallman, describing the design of the original Emacs and the lessons to be learned from it, and a transcript of his 2002 speech at the International Lisp Conference, My Lisp Experiences and the Development of GNU Emacs. Here is the cover of the original Emacs Manual for ITS; the cover of the original Emacs Manual for Twenex; and (the only cartoon RMS has ever drawn) the Self-Documenting Extensible Editor.