Vim vs Emacs: The Editor War That Never Ends

The Vim-versus-Emacs debate predates most of today’s programmers, and it’s outlived several generations of supposedly superior alternatives. Both are still very much alive, and understanding why explains a lot about differing philosophies of tool design.

Vim: Modal Editing as a Superpower

Vim’s defining idea is modal editing — Normal mode for navigation and commands, Insert mode for typing, Visual mode for selection. Once internalized, commands compose like a language: d (delete) + i (inside) + w (word) deletes a word from anywhere inside it, without touching the mouse or arrow keys.

:w              " save
:q              " quit
:wq             " save and quit
dd              " delete current line
yy              " yank (copy) current line
p               " paste after cursor
/searchterm     " search forward
ciw             " change inside word
:%s/foo/bar/g   " find and replace across the whole file

Emacs: An Editor That’s Also a Lisp Machine

Emacs takes the opposite approach — rather than a small, composable command language, it’s a complete Lisp runtime with a text editor built on top. Nearly everything about it, from keybindings to entire subsystems (email clients, file managers, even games), is written in and extensible via Emacs Lisp.

The Real Answer: Both Won

Vim’s modal editing model was influential enough that it’s now available as a plugin or mode in virtually every modern editor and IDE (VS Code’s Vim extension, JetBrains’ IdeaVim). Emacs’s extensibility philosophy directly influenced how modern editors handle plugins and configuration-as-code. Neither editor “lost” — their core ideas simply got absorbed into everything that came after.

Learning Either One Today

If you spend any time in a terminal, Vim’s basics (insert, save, quit, and simple navigation) are worth learning regardless of your daily editor — you will eventually SSH into a machine where it’s the only thing installed, and knowing at minimum how to exit it saves real frustration.