Emacs is a text editor in the same way that a Swiss Army knife is a knife. Technically accurate. Fundamentally misleading. Emacs is an email client, a calendar, a task manager, an IRC client, a terminal emulator, a web browser, a psychotherapist (M-x doctor), a game platform (Tetris, Snake, Dunnet), and — somewhere in there, between the mail client and the therapy session — a text editor.
It was created by Richard Stallman in 1976, the same year Bill Joy created vi. Both editors emerged from the same era, the same machines, the same need. They chose different paths. vi chose to edit text. Emacs chose to become everything.
“Emacs is a great operating system. It just needs a good text editor.”
— Everyone, since approximately 1980
The University Years
riclib used Emacs seriously in university. Configured it heavily. Learned enough Emacs Lisp to customize the environment, to build the editor into the specific shape that university work required — which was a lot of shapes, because university involved many things and Emacs could be many things and when you are a student with time, the ability to make your editor do everything feels like power.
It was power. Emacs Lisp is a real programming language — a dialect of Lisp, with all that Lisp implies: parentheses, recursion, the seductive whisper that code is data and data is code and you can modify the editor while the editor is running because the editor is Lisp and you are writing Lisp and the boundary between the tool and the configuration has dissolved.
University ended. riclib left Emacs. And Lisp. And Prolog. And saw the vi light.
“When I left university I forgot Emacs and Lisp and Prolog. I forgot them the way you forget a dream — you remember that it was vivid, that it felt important, that it contained something beautiful, but the details are gone and the waking world uses different rules.”
— riclib, on leaving the university ecosystem
The Holy War
The editor holy war between vi and Emacs has been ongoing since 1976. Fifty years. It is the longest-running technical dispute in computing, having outlasted the browser wars, the OS wars, the framework wars, the tabs-vs-spaces war, and several actual wars.
The arguments are well-established:
vi partisans say: vi is small, fast, modal, everywhere. It edits text and does nothing else, which is all an editor should do. The Unix philosophy — do one thing well — is vi’s philosophy. Emacs violates this philosophy by doing everything, most of it adequately, none of it as well as a dedicated tool.
Emacs partisans say: Emacs is extensible, powerful, integrated. Why leave the editor to check email when the editor can check email? Why leave the editor to manage tasks when Org-mode exists? Why use ten programs when one program can be all ten? The Emacs philosophy — one environment for everything — means never losing context, never switching windows, never leaving the flow.
Both sides are correct. Both sides are wrong. Both sides will continue arguing after the heat death of the universe, at which point vi will still be running because it needs 4 KB of RAM and Emacs will still be running because it was never shut down.
“The war is over. vi won. Emacs doesn’t know it yet, and telling them would be unkind.”
— The Lizard, who ended the war by not participating
The Org-mode Cult
If Emacs has a killer feature — a feature so compelling it keeps people inside the Emacs ecosystem who would otherwise have left — it is Org-mode.
Org-mode is an outliner, a task manager, a calendar, a spreadsheet, a literate programming environment, a publishing system, and a note-taking tool. It is plain text. It is version-controllable. It is powerful enough that people who do not use Emacs for editing use Emacs exclusively for Org-mode.
Org-mode users form a community that can only be described as a cult — not pejoratively, but descriptively. They have a conference (EmacsConf). They have workflows. They have a specific way of capturing tasks (C-c c), of scheduling them, of clocking time, of publishing them to HTML, of exporting them to PDF, of doing everything with text files that other people do with six different SaaS applications.
The Org-mode user is the happiest Emacs user, because the Org-mode user has found the reason to stay.
The Pinky Problem
Emacs keybindings require the Control key. The Control key requires the left pinky. The left pinky, over years of Emacs use, develops a condition known colloquially as “Emacs Pinky” — a repetitive strain injury caused by holding Control while pressing other keys, thousands of times per day, for years.
Vi uses Escape, which is one press, and then modal commands, which are single keystrokes without modifiers. The vi user’s hands stay on the home row. The vi user’s pinkies are relaxed. The vi user’s pinkies will outlive the Emacs user’s pinkies, and this is not a metaphor.
Some Emacs users remap Caps Lock to Control. Some Emacs users use foot pedals. Some Emacs users switch to Evil mode, which is Vim keybindings inside Emacs, which is the editor equivalent of admitting that your house is beautiful but you’d like to use the neighbor’s front door.
The Light
riclib saw the vi light. This is the specific moment — experienced by many former Emacs users, always described with religious overtones — when the modal editing model clicks, when the fingers learn that Escape is not a retreat but a return to power, when the realization arrives that editing text does not require a mail client, a task manager, a psychotherapist, or 4,000 lines of Lisp.
The light is not that vi is better. The light is that vi is sufficient, and sufficiency — the quality of having exactly enough and the wisdom to not want more — is the highest form of engineering.
“I configured Emacs heavily. I learned Lisp for it. I built my university life inside it. And then I left, and discovered that all I needed was a cursor, two modes, and the letter Z pressed twice.”
— riclib, summarizing the journey
Measured Characteristics
Year created: 1976 (same year as vi)
Creator: Richard Stallman (MIT AI Lab)
Configuration language: Emacs Lisp (a real language, unlike Vimscript)
Average .emacs.d size: 500-4,000 lines of Lisp
Built-in applications: email, IRC, calendar, terminal, browser, Tetris, psychotherapist
Applications that work well: email (mu4e), tasks (Org-mode)
Applications that work adequately: terminal, calendar
Applications that are technically present: web browser (eww)
The killer feature: Org-mode (it's a cult, but cults have great documentation)
The holy war: ongoing since 1976 (50 years)
Winner of the holy war: vi (Emacs disputes this)
Common injury: Emacs Pinky (RSI from Control key)
riclib's Emacs period: university (configured heavily)
riclib's post-Emacs period: the rest of his career (vi)
What was forgotten: Emacs, Lisp, Prolog (together, as a package)
What was gained: the vi light
See Also
- vi — The editor that won the war by being sufficient. Emacs lost by being everything.
- Vim — vi’s descendant, which added enough features to make vi users understand, briefly, why Emacs users configure things. Then they stopped.
- Lisp — The language of Emacs configuration. Also the language of riclib’s university years. Both were left behind together.
- Prolog — The other university language forgotten alongside Emacs and Lisp. The three form a package deal of beautiful, impractical things.
- VS Code — The modern editor that does what Emacs tried to do (everything in one window) but with Electron instead of Lisp. Whether this is progress or regression depends on how you feel about parentheses.
- Org-mode — The reason people stay. If Org-mode could run outside Emacs, Emacs would lose half its users overnight. This is why Org-mode will never run outside Emacs.
