Nepedia
Back to Discover
Advanced Reader
💻

Emacs

technology Maturity 9-11 war conflict Next article →

This article covers sensitive topics: war_conflict. Parents can manage visibility in Parental Controls.

Emacs is a highly extensible family of text editors used for managing digital text.

Emacs-linux-console
Emacs-linux-console

The term "extensibility" means the software can be changed or expanded by its users. Most versions are described as customizable, self-documenting, and capable of real-time display. This flexibility allows Emacs to function as much more than a simple typing tool. It serves as a platform where users can build their own specialized applications. Because of this, Emacs is often viewed as a complete computing environment rather than just a single program.

The core mechanism of Emacs relies on macros and a programming language called Lisp.

Space-cadet
Space-cadet

A macro is a sequence of commands that a user combines to automate repetitive tasks. Emacs features over 10,000 built-in commands that can be grouped into these macros. Most implementations use a dialect of Lisp to allow for deep customization. This means users can write new commands or entire applications directly within the editor. Approximately 70% of GNU Emacs is actually written in Emacs Lisp. This high level of scripting makes it much easier to port the editor to different computer systems.

Emacs also uses a specific method for handling files known as a buffer.

GNU Emacs W32
GNU Emacs W32

Older editors like TECO were page-sequential, meaning they could only edit one page of a file at a time. This was necessary when computer memory was very expensive and small. Modern Emacs-style editors read and write the entire file as a single, large buffer. This allows for random-access editing, which lets a user jump to any part of a document instantly. This buffer-based approach has become the standard for almost all modern text editors used today.

The history of Emacs began in the mid-1970s at the MIT AI Lab.

Guy Steele
Guy Steele

It was originally developed as a set of macros for an older editor called TECO. David A. Moon and Guy L. Steele Jr. are credited with creating the first operational EMACS in 1976.

David A Moon
David A Moon

Richard Stallman later took over the maintenance and significantly improved the system. He implemented a more efficient display-editing mode and changed how the software managed files. By 1979, Emacs had become the primary editor used in the MIT AI Lab and its Laboratory for Computer Science.

In 1984, Richard Stallman began developing GNU Emacs for the GNU Project.

James Gosling 2008
James Gosling 2008

His goal was to create a free software alternative to proprietary editors like Gosling Emacs. GNU Emacs was the very first program released by the new GNU Project. Its first public release occurred on March 20, 1985. While it was initially based on Gosling Emacs, Stallman had to rewrite nearly all the code to use a true Lisp interpreter. This made GNU Emacs much more powerful and helped it become the standard editor for Unix systems.

There are several different versions and branches of Emacs that have emerged over the decades.

Xemacs-21.5.b29
Xemacs-21.5.b29

XEmacs is a well-known variant that branched away from GNU Emacs in 1991. This created one of the most famous "forks" in free software history, where two different teams developed separate versions. While XEmacs was once a major competitor, its development has become very slow. Other historical versions include Zmacs for Lisp machines and Multics Emacs. Even today, Emacs remains a major contender in the traditional "editor wars" of Unix culture alongside the vi editor.

Emacs is significant because it remains one of the oldest free and open-source projects still under active development. The project has grown from a small set of macros into a massive collaborative effort. As of 2025, the GNU Emacs project has seen 1,608 individual committers contribute to its code. Users have extended the editor to perform many complex tasks. These include managing email, remote access, and file systems. It can even integrate with tools like Git or display multimedia content. Some users even use Emacs to play games like Tetris, Snake, or Conway's Life.

648 words

Where will your curiosity go next?

Keep exploring at your chosen reading level.

🖼️ Images & Media (13)
DPS8M emulator running Multics Emacs...
File:Guy Steele.jpg
Guy Steele.jpg
File:David A Moon.png
David A Moon.png
File:Space-cadet.jpg
Space-cadet.jpg
File:Screenshot-Zmacs.png
Screenshot-Zmacs.png
File:James Gosling 2008.jpg
James Gosling 2008.jpg
File:Emacs-linux-console.png
Emacs-linux-console.png
File:GNU Emacs W32.png
GNU Emacs W32.png
File:C file in Emacs 27 with the modus-operandi theme.png
C file in Emacs 27 with the...
File:Xemacs-21.5.b29.png
Xemacs-21.5.b29.png
File:UEmacs-Pk 4.0.15 on Linux.png
UEmacs-Pk 4.0.15 on Linux.png
File:OpenBSD mg Editor Ruby Goodbye World.png
OpenBSD mg Editor Ruby Goodbye World.png

+ 1 more

More to explore

What is Nepedia?

A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.