Glossary

Emacs

Emacs is a vast, extensible text editor whose culture frames it as "an operating system disguised as an editor". Created by Richard Stallman at MIT in the 1970s and developed as part of the GNU project since 1985, it uses Emacs Lisp as its scripting language. Virtually every aspect of its behaviour can be changed or extended by writing Lisp code, which is both its great strength and the source of the famously steep learning curve.

Emacs is modeless (unlike vi/vim): you type, and text appears. Commands are invoked with key chords involving Ctrl (C-) and Meta (M-, usually Alt): C-x C-s to save, C-x C-c to quit, C-s to search, M-x to invoke named commands. The chords feel alien at first but become second nature, and Emacs rewards investment with extraordinary capability.

The ecosystem includes Org-mode (a powerful outliner, planner, and document format), Magit (probably the best git interface ever written), Tramp (transparent remote file editing), email clients, calendars, IRC clients, and window managers. The old joke—"Emacs is a great operating system, lacking only a decent editor"—refers to this.

Emacs and Vim have been rival text editors for decades in one of the longest-running flamewars in computing. Modern editors like VS Code and Neovim have drawn from both, but the originals continue to have passionate users and active development.

Related terms: Vim, org-mode, elisp

Also defined in: Textbook of Linux