25 years of Emacs

I began programming with Emacs but didn’t get it. I switched to Vim for a few years, liked its motions but hated its extensibility, and switched back to Emacs. That was 25 years ago.

Emacs has never been the most popular text editor and never will be. Popularity requires accessibility, immediate appeal, and marketing. Emacs has none of these. You install it, open it up, and see what looks like a basic text editor with strange key bindings and hundreds of cryptic commands. Emacs takes 10 years to learn, and its learning curve is a spiral.

The killer feature of Emacs is living in your editor. The Emacs community has made Emacs a great tool for most of the problems people use a computer to solve: text editor, shell/terminal emulator (eshell/vterm), file manager (dired), outline-based notes and organizer (org), email client (gnus), git client (magit), accounting (ledger), calculator (calc), IRC client (ERC), calendar, and so on. When working in and across any of these areas, you have the same key bindings, same kill ring, same text interface, with no task switching.

Emacs is written in Lisp. You extend it in Lisp. Nearly everything you encounter in Emacs is a Lisp data structure you can inspect and change. Emacs buffers are sophisticated objects with rich metadata. They have modes, local variables, overlays for text properties–all programmable while Emacs runs. Programmers who care about their tools should try Emacs. You can make it do exactly what you need.

Next year, Emacs turns 50. How many software projects can say that they’re used after 50 years? SABRE (airline reservation system), IRS Master Files, MOCAS (US Department of Defense contract management system), Voyager Flight Software, and Emacs. If you break SABRE, IRS Master Files, or MOCAS–you’ll go to jail. If you want to change Voyager–you’ll need to catch it in outer space.

– Published from Emacs.