GNU Emacs is a highly extensible text editor that is distributed by the GNU Project. It runs on many platforms, including various UNIX-like systems as well as macOS and Windows, and can be customized to perform a wide range of tasks beyond simple text editing.
What makes Emacs flexible
The core of Emacs's adaptability is its embedded extension language, Emacs Lisp, a dialect of programming language. Users write or install Lisp code to add features, change behavior, or transform Emacs into specialized tools such as mail clients, project planners, or integrated development environments.
Common uses
Because Emacs can be extended so far, people use it for many different activities. Typical examples include:
- Authoring and exporting documents (including formats like PDF)
- Managing tasks, agendas, and personal information
- Reading and composing e-mail and newsgroup messages
- Keeping calendars, notes, and diaries
- Participating in IRC and other chat systems
- Serving as a windowed desktop-style environment on Unix-like systems
Interface and keybindings
Emacs uses keyboard shortcuts to provide quick access to commands. Newcomers sometimes find the key sequences unfamiliar, and there are jokes about elaborate binding names, but many users grow comfortable with the most common combinations and can customize them to suit personal preferences.
Community and comparisons
There is a long-standing rivalry among programmers who prefer different editors. Enthusiasts of Vim or Vi sometimes debate with those who prefer Emacs about workflow, features, and philosophy. Both families of editors have active communities and strong traditions.