Understanding the Origins and the Evolution of Vi and Vim

Humor and article tone

  • Ending the article with “Emacs sucks” divided readers.
  • Some saw it as harmless, reciprocal banter between editor camps; others felt it was an unnecessary, sincere dig that detracted from an otherwise strong piece.
  • Several note that humor styles differ and that a clearer joking cue might have helped.

Neovim, Vimscript, Lua, and forks

  • Some were surprised Neovim wasn’t discussed more; others point out the article focuses on pre‑Neovim history and only mentions it in a usage graph.
  • Discussion on the Vim/Neovim fork: some wish they could reunify, but people following development think divergence is essentially permanent, with Neovim trending toward “easy IDE” and Vim toward “lean editor.”
  • Lua is described by some as a “game changer” for Neovim config and plugins; others strongly dislike its semantics and consider it a poor general-purpose language but acknowledge its strengths as a small, fast, embeddable configuration/DSL language.
  • Vimscript is widely considered clunky; Vim9script gets praise as more approachable and performant. Several argue Lua still beats classic Vimscript, but not necessarily Vim9script, for plugin development.

Vi/Vim design, productivity, and philosophy

  • Multiple comments stress how much power even a minimal vi or BusyBox clone has compared to many modern IDEs.
  • The composable “verb + motion (+ count)” command language is seen as the core genius: one small vocabulary scales to complex edits without leaving the home row or using a mouse.
  • Some argue modern IDEs that operate on ASTs are ultimately more efficient for heavy refactoring; others counter that vi’s language-agnostic, text-first model is superior when you work across many languages, formats, and toolchains.
  • Vi’s origin on slow 300‑baud links is highlighted: minimizing screen redraws shaped terse commands and one-shot operations, which today feel like reduced friction and better flow, especially under latency.

Hardware and historical influences

  • The ADM‑3A terminal’s layout is credited for ESC placement and hjkl cursor keys, and more generally for vi’s feel.
  • Broader history threads discuss ed, TECO, early Emacs (as TECO macros), line vs screen editors, and RAND’s early full-screen editor. Opinions differ on how directly TECO influenced vi, but many note strong conceptual parallels.

Alternative editors and ecosystems

  • Neovim, vis, nvi, elvis, MicroEmacs, CygnusED, and various Amiga editors are mentioned as interesting points in the vi/Emacs family tree.
  • Vis is praised for handling multi‑gigabyte files effortlessly.
  • Some note Minix eventually switched from Elvis to nvi, though Minix itself is now dormant.

Longevity, teaching, and learning tools

  • Several marvel at the durability of Unix tools like vi and grep, and at LaTeX/Emacs workflows still reproducing decades-old documents.
  • Anecdotes include assembly courses where cumulative assignments ultimately produced a mini‑vi or even a C compiler, illustrating how editor design can structure teaching.
  • A Vim “golf” site is shared as a way to learn motions gradually; others recommend at least basic vi literacy for rare but critical situations (e.g., remote servers with bad latency).
  • There’s some plugin talk (e.g., Python block navigation, indentation-based text objects) reflecting ongoing practical interest in extending Vim/Neovim.