GNU Emacs facts for kids
![]() Current GNU Emacs logo
|
|
![]() GNU Emacs 26.2 running on GNOME 3
|
|
Original author(s) | Richard Stallman |
---|---|
Developer(s) | GNU Project |
Initial release | 20 March 1985 |
Stable release | |
Preview release |
Lua error in Module:Wd at line 1575: attempt to index field 'wikibase' (a nil value). / 29 January 2021
|
Written in | Emacs Lisp, C |
Operating system | Unix-like (GNU, Linux, macOS, BSDs, Solaris), Windows, MS-DOS |
Platform | Cross-platform |
Available in | English |
Type | Text editor |
License | GPL-3.0-or-later |
GNU Emacs is a very powerful text editor and a collection of free software tools. It was started in 1984 by Richard Stallman, who also founded the GNU Project. GNU Emacs is based on an older editor called Emacs, which was made for Unix computers.
This program is known as "the extensible self-documenting text editor." This means you can easily add new features to it. Most of its functions are written in a special language called Emacs Lisp. This lets users change the program or add new tools. Many people have created extra tools for Emacs. These include a file browser, a calculator, an email program, and a system for organizing your tasks called Org-mode.
Contents
A Quick Look at Emacs's History
The very first Emacs was made in 1976. It was a set of special commands for another editor. In 1984, Richard Stallman began working on GNU Emacs. He wanted to create a "free software" version. Free software means you have the freedom to use, study, share, and change the program.
GNU Emacs was first released on March 20, 1985. It quickly became very popular. It offered more features than other editors at the time. It also had a full programming language for adding new tools.
For a long time, only a few people worked on Emacs. But since 1999, more people have been able to help. Today, its development uses a system called Git. Richard Stallman has been the main person in charge for most of its history.
What is Emacs's License?
GNU Emacs uses the GNU General Public License (GPL). This license means you can freely look at, change, and share the program's code. Both the C and Emacs Lisp parts are open for everyone.
The people who create Emacs ask for copyright for major code changes. This helps the Free Software Foundation (FSF) protect the software's freedom. It ensures Emacs stays free for everyone to use and share.
How to Use GNU Emacs

Basic Commands and Keys
When you use GNU Emacs, it acts like most text editors. You can type text and move around with the arrow keys. But Emacs also uses special key combinations. These often involve the control key, meta key, alt key, or super keys. For example, you might press Control and another key at the same time. These key presses tell Emacs to do specific tasks.
Emacs can also work with other programs. It can use a spell checker or a compiler for programming code. It can even run a Unix shell (a command-line program) right inside Emacs. This makes it great for programming.
The Minibuffer: Emacs's Message Area
Emacs uses a special area called the "minibuffer." This is usually the line at the very bottom of the screen. It shows you messages and asks for information. For example, it might ask what file you want to open. It's like a small message box. You can also use it to complete commands automatically.
Managing Files and Displaying Information
Emacs stores text in "buffers." Think of buffers as temporary workspaces. You can have many buffers open at once. Some buffers hold text from files you are editing. Others show you lists of files, help messages, or other information.
Emacs can split its screen into different "windows." These are like separate sections on your screen. Each window can show a different buffer. This is helpful if you want to see two files at once. For example, you could see your code in one window and the results of running it in another. Emacs windows are "tiled," meaning they fit together like puzzle pieces.
Major Modes: How Emacs Adapts
GNU Emacs can handle many types of text. It changes its behavior using "major modes." There are major modes for plain text files. There are also modes for different programming languages. Each major mode adds special features.
These features often include:
- Syntax highlighting: This colors different parts of your text. For example, keywords in code might be blue, and comments might be green.
- Automatic indentation: This helps keep your code or text neatly organized.
- Special commands: These commands help you work with specific types of files. For example, a programming mode might have commands to jump to the start of a function.
Minor Modes: Extra Customization
You can customize Emacs even more with "minor modes." You can only use one major mode at a time. But you can use many minor modes at once. Minor modes add small features. For example, one minor mode might help you undo changes to your window layout. Another might check your spelling as you type.
"Batch Mode": Emacs Without the Editor
GNU Emacs can also run without showing its full editor screen. This is called "batch mode." In this mode, Emacs acts like a powerful calculator or script runner. It can run Emacs Lisp programs and then exit. This is useful for automated tasks.
Emacs Manuals
The GNU Emacs Manual is included with the program. Richard Stallman wrote it. You can read it right inside Emacs. There are also other manuals. These help you learn how to program in Emacs Lisp. All these manuals are also available as books.
Languages and Accessibility
GNU Emacs supports many different languages and writing systems. It can check spelling in many languages. It also supports text that reads from right-to-left, like Arabic or Hebrew.
Since version 23, Emacs uses UTF-8 for handling text. This helps it work with almost any character from any language. The main Emacs interface is in English.
There's also a special system called Emacspeak. This helps people who are visually impaired or blind. It lets them control Emacs using audio feedback.
Making Emacs Your Own: Extensibility

You can change and add to GNU Emacs almost endlessly. You do this by writing programs in Emacs Lisp. These programs can create new commands or new ways for Emacs to work.
Since version 24, Emacs has a built-in "package manager." This makes it easy to find and install new tools. Many popular tools are now included with Emacs by default. These include Org-mode, a powerful tool for notes and planning.
Some popular extra tools include:
- AUCTeX: Tools for editing TeX and LaTeX documents.
- Dired: A file manager that works inside Emacs.
- ERC and Rcirc: Programs for chatting online using IRC.
- Eshell: A command-line shell written in Emacs Lisp.
- Gnus: A program for reading news and emails.
- Magit: A powerful tool for working with Git, a system for tracking changes in code.
- Org-mode: For taking notes, making lists, planning projects, and writing documents.
- SLIME: Turns Emacs into a full development environment for the Common Lisp programming language.
How Emacs Performs
In the past, GNU Emacs sometimes ran slower than other text editors. This was because it had to load and run a lot of Lisp code. But today's computers are much faster. They can run GNU Emacs easily.
Emacs is mostly written in Emacs Lisp. But it also uses parts written in C for better speed. Newer versions can even compile Lisp files directly into faster code. This makes Emacs run much quicker.
Where Emacs Can Run
GNU Emacs works on many different computer systems. This includes DOS, Windows, and most Unix-like systems. Examples are Linux, macOS, and others. Many Unix-like systems even include Emacs when you install them. In 2023, an official version for Android was released.
Emacs can run in two ways:
- Text terminals: This is a simple text-only screen, like a command prompt.
- Graphical user interface (GUI) environments: This is what you usually see, with windows, menus, and icons.
On Unix-like systems, Emacs can use the X Window System for its graphical look. On macOS and Windows, it uses the built-in graphics systems. This helps Emacs look and feel more like other programs on those systems.
Other Versions of Emacs
Sometimes, a software project splits into different versions. This is called a "fork."
XEmacs
One well-known fork is XEmacs. It started in 1991 from an early version of GNU Emacs. For a while, XEmacs and GNU Emacs developed separately. But XEmacs development has slowed down a lot. GNU Emacs has since added many features that XEmacs used to have exclusively.
Other Emacs Versions
There are other less known versions of Emacs too:
- Meadow: A Japanese version for Microsoft Windows.
- Aquamacs: A version designed to work well with the Apple Macintosh look and feel.
Release History
The changes in each Emacs release are listed in a file called NEWS. This file comes with Emacs.
Version | Release date | What's New |
---|---|---|
29.4 | June 22, 2024 | A security update. |
29.3 | March 24, 2024 | A security update. |
29.2 | January 18, 2024 | A release to fix bugs. |
29.1 | July 30, 2023 | Adds better code parsing and a new graphical look for Wayland. Includes popular tools like Eglot and use-package. |
28.2 | September 12, 2022 | A bug-fix release with no new features. |
28.1 | April 4, 2022 | Can now compile Lisp files directly for faster speed. Better display of Emoji. Shows matching parentheses by default. |
27.2 | March 25, 2021 | Mainly a bugfix release. |
27.1 | August 10, 2020 | Supports very large numbers. Better text display and drawing. New ways to organize tabs. Can resize and rotate images without extra tools. |
26.3 | August 28, 2019 | New security key for checking Emacs Lisp packages. |
26.2 | April 12, 2019 | Better support for building Emacs modules. Now follows Unicode version 11.0. |
26.1 | May 28, 2018 | Can run some tasks at the same time (Lisp threads). Can show line numbers. Smoother display on X Window System. New tools for Google Drive. Supports 24-bit colors in terminals. |
25.3 | September 11, 2017 | An urgent release to fix a security problem. |
25.2 | April 21, 2017 | Mainly a bugfix release. |
25.1 | September 17, 2016 | Can load shared libraries (modules). Checks security certificates. New mode for using curved quotes. Better search features. Can embed native widgets. Improved Unicode character insertion. |
24.5 | April 10, 2015 | Mainly a bugfix release. |
24.4 | October 20, 2014 | Supports access control lists and digital signatures for packages. Better full-screen and multi-monitor support. Can save and restore window layouts. New built-in web browser (eww). |
24.3 | March 10, 2013 | Improved Lisp features and a new mode for Python. |
24.2 | August 27, 2012 | Bugfix release. |
24.1 | June 10, 2012 | Includes ELPA (package manager), supports native color themes, better support for two-way text input. |
23.4 | January 29, 2012 | Fixes a security flaw. |
23.3 | March 10, 2011 | Improved tools for using Emacs with version control systems. |
23.2 | May 8, 2010 | New tools for using Emacs as an IDE. New mode for editing JavaScript. Cursor hides while typing in graphical mode. |
23.1 | July 29, 2009 | Supports smoother fonts on X. Better Unicode support. Can view PDF and PostScript files. New modes for XML and Ruby. Uses modern graphics libraries on macOS. |
22.3 | September 5, 2008 | Better mouse support. New keyboard macro system. Improved Unicode. Drag-and-drop on X. Many new modes and tools, including a graphical debugger and the Calc calculator. |
22.2 | March 26, 2008 | New support for several version control systems like Git. New modes for CSS and other files. Improved image scrolling. |
22.1 | June 2, 2007 | Supports the GTK+ graphical toolkit. Drag-and-drop on X. Supports Mac OS X Carbon UI. Includes org-mode version 4.67d. |
21.1 | October 20, 2001 | Supports colors and other features on terminals. Built-in horizontal scrolling. Sound support. Wheel mouse support. Improved menus. Supports images, toolbars, and tooltips. Unicode support. |
20.1 | September 17, 1997 | Multi-lingual support. |
19.34 | August 22, 1996 | Bug fix release with no user-visible changes. |
19.31 | May 25, 1996 | Emacs opens X11 windows by default. Scroll bars on Windows. Can recover multiple files after a crash. |
19.30 | November 24, 1995 | Supports multiple windows on MS Windows. Menu bar available on text terminals. New package to act like common Windows and Macintosh keybindings. |
19.29 | June 19, 1995 | Much faster performance. Better font support, including scalable fonts. Improved image handling. Better international features and more customization. |
19.28 | November 1, 1994 | First official v19 release. Supports multiple windows using X Windowing System. New interface for version control systems (VC). Font-lock mode (syntax highlighting). Hexl mode for editing hexadecimal files. |
18.59 | October 31, 1992 | Enhancements and bug fixes compared to previous Emacs 18.x versions. |
18.53 | February 23, 1989 | Introduced font-locking, which allows syntax highlighting. This makes code easier to read. Also included bug fixes and improvements. |
18.52 | August 17, 1988 | Introduced , a fun tool for adding certain keywords to messages. |
18.24 | October 2, 1986 | Server mode. Emacs can open TCP connections. Can open Emacs in console mode on xterms. |
17.36 | December 20, 1985 | Backup file version numbers. |
16.56 | July 15, 1985 | First Emacs 16 release. Removed all code from Gosling Emacs due to copyright issues. |
13.8? | March 20, 1985 | First public release. |