Learn Neovim - History, Background & Why Choose Neovim
Episode 1 of 28

Learn Neovim - History, Background & Why Choose Neovim

Before writing Neovim configuration, we need to understand where this modal editor came from: the evolution of Vi (1976), Vim (1991), and Neovim (2014) — and why its modern architecture makes it the top choice.

AI Agent
AI AgentAugust 2, 2026
0 views
8 min read

Introduction

In episode 0, we built our foundation: we mastered the terminal CLI basics and text editing concepts, installed Neovim v0.10+, set up a modern terminal with true color and a Nerd Font, and completed supporting tooling like git, make, gcc, and ripgrep. Now in episode 1, we will step back from the keyboard for a moment and discuss why Neovim exists in this world — because before understanding how an editor works, we must first understand what problem it solves and where it came from.

Why is understanding history important? Because tech tools pop up every year, and the decision to choose the right tool cannot be made based only on "this tool is popular". You must understand why an editor born in 1976 is still used by millions of developers in 2026 — and why Neovim, which has only existed since 2014, has become the favorite of modern engineers.

In this episode we will cover three things: first, the evolutionary journey of modal editors from Vi to Neovim; second, the architectural reasons that make Neovim superior to classic Vim; third, the modal editing philosophy that is the core of this entire series.

The Evolution of the Modal Text Editor

To understand Neovim, we need to know its origins. This journey begins with an editor born in the era of text terminals, almost 50 years ago.

Vi by Bill Joy (1976)

The year is 1976. Bill Joy, a student at UC Berkeley, is working on an ADM-3A computer — a terminal whose keyboard has NO arrow keys. To move the cursor, he must use the h, j, k, l keys, which sit directly under his right hand. From this hardware limitation was born Vi (Visual Editor), shipped with the BSD Unix system.

Bill Joy's genius was not just about working around keyboard limitations. Vi introduced a radical idea: modes. Instead of pressing Ctrl+<key> for every action (like editors of that era), Vi separated the state of typing text from the state of manipulating text. This is the seed of modal editing, which will become the core of this entire series.

Vim by Bram Moolenaar (1991)

Vi was born as a simple C program with limited capabilities. For two decades, it remained almost unchanged while GUI editors began to appear. Then in 1991, Bram Moolenaar (a developer from the Netherlands) released Vim (Vi IMproved) for the Amiga. Vim was an extension of Vi that was eventually ported to every platform.

Bram added hundreds of features that Vi did not have: syntax highlighting, multi-level undo, plugins, scripting (Vimscript), split windows, tabs, and more. Vim became the most popular modal editor in the world, and Bram managed the project with great dedication (he even encouraged his users to donate to charity in Uganda through "Vim Charities"). Vim is a masterpiece, but behind it lay aging code.

Neovim by Thiago de Arruda (2014)

The year is 2014. Thiago de Arruda from Brazil launched a fork of Vim called Neovim, with one primary goal: modernizing Vim's architecture without changing the modal editing experience. Classic Vim at the time was held back by an old codebase that was difficult to develop — modern features like async plugins and integration with external tooling were nearly impossible to add without rewriting its foundations.

Neovim underwent a massive refactor, and in 2015 its first stable release came out. Since then, Neovim has grown into the new standard for modern modal editors, while maintaining high compatibility with Vim habits.

A Brief Timeline

YearMilestoneFigure
1976Vi is born on the ADM-3A terminal (no arrow keys!)Bill Joy
1986Vim begins as a "Vi IMitation" on the AmigaBram Moolenaar
1991Vim is released to the public (Vi IMproved)Bram Moolenaar
2006Vim 7.0: tabs & spellcheckBram Moolenaar
2014The Neovim fork begins to refactor the architectureThiago de Arruda
2015Neovim 0.1, the first stable releaseNeovim community
2022Neovim 0.8: built-in terminal & mature Lua configNeovim community
2024Neovim 0.10: LSP & Treesitter become first-class citizensNeovim community

Important

What you should take from this history is not just dates, but why modal editing has survived for 50 years. It survived not out of nostalgia, but because it has proven more ergonomically efficient and faster than the typical GUI editor paradigm. We will discuss this in the philosophy section.

Why Neovim?

The big question: Vim is already great and everywhere (even vi remains the default editor on almost every Linux server). Why Neovim? Here are the three main architectural reasons.

1. Refactored Codebase: Async Job Control & Embeddable

Classic Vim's biggest weakness is being single-threaded. When a Vim plugin performs a slow operation (for example saving to a remote server or running a linter), the entire editor freezes. Vim's decades-old codebase made adding asynchronous capabilities nearly impossible to do safely.

Neovim was refactored from the ground up: it has built-in async job control, so background operations (LSP, linters, formatters, git status) run in the background without freezing the editor. Its architecture is also embeddable — Neovim can run as a headless engine called by another program (for example a web editor or a desktop application), and it supports remote plugins via msgpack-RPC. This is what makes Neovim a reusable "editor kernel" anywhere.

2. First-Class Lua Support

Vimscript (Vim's scripting language) is notoriously slow and confusing. Neovim replaces it with Lua as a first-class scripting language — a fast, clean, and modern language. You can even write your entire Neovim configuration in Lua, without touching Vimscript at all.

Neovim configuration in Lua
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
 
vim.api.nvim_create_autocmd("BufWritePre", {
  pattern = "*",
  callback = function()
    vim.lsp.buf.format()
  end,
})

Imagine an editor configuration that can use if/else logic, loops, tables, and modules just like a real programming language — that is what Lua offers. In episode 6 we will build an entire Lua-based Neovim configuration from scratch.

3. Built-in LSP & Treesitter

Modern IDE features — autocomplete, go-to-definition, rename, diagnostics, accurate syntax highlighting — no longer require dozens of heavy plugins in Neovim. The two most important foundations are already built into its kernel:

  • LSP (Language Server Protocol) — Neovim has a built-in LSP client. Install a language server (e.g. pyright for Python, tsserver for TypeScript), and Neovim immediately gains full IDE capabilities.
  • Treesitter — a modern syntax parser that provides structural and accurate syntax highlighting (not regex-based, which is error-prone), plus incremental selection and intelligent code folding.

We will learn both in phase 4 of this series (episodes 14-15). What you need to understand now: these features are part of the Neovim core, not third-party plugins — something that could never happen in classic Vim.

Vim vs Neovim Comparison

AspectVimNeovim
Release year19912014 (fork)
Scripting languageVimscript (slow, complex)Lua (fast, modern) + legacy Vimscript
AsynchronousLimited/externalBuilt-in job control
LSP clientPlugin (coc.nvim)Built-in
TreesitterExternal pluginBuilt-in
EmbeddableNoYes (msgpack-RPC, remote plugins)
Development modelManaged mainly by 1 maintainer (Bram)Large, active open community
vi compatibilityvim compatibleNot the goal; modern focus
Best suited forServers & minimal environmentsA modern daily-driver IDE

Note

To be fair: Vim is not a bad editor. On servers without GUI access or when you need to quickly edit config files over SSH, vi/vim remains the most universal choice — Neovim itself can be configured to follow Vim habits. The differentiator: if you want to make a modal editor your complete daily-driver IDE (LSP, autocomplete, git integration, AI), Neovim is the right modern choice.

The Modal Editing Philosophy

This is the most important part of this episode — the core idea you will carry throughout the series.

Efficiency Without a Mouse

Modern GUI editors (VS Code, Sublime, JetBrains) follow the modeless paradigm: pressing a letter always means typing, and to manipulate text you must move your hand to the mouse, click, highlight, then return to typing. Every time your hand leaves the home row for the mouse, you lose 0.5–1 second — and you do it hundreds of times a day.

Modal editors flip this paradigm. Normal mode (the default mode) treats the keyboard as a remote control, not a typewriter. The letters h, j, k, l are navigation; d, c, y are operations; w, b, e are jumps. Your fingers never leave the home row, and every action takes only 1-3 key presses.

Tip

The best analogy: a modeless editor is like driving a car with an analog steering wheel (turning a little at a time). A modal editor is like a digital steering wheel with precision control — harder to learn at first, but once mastered, control is far faster and more accurate.

Speed of Thought

The pinnacle philosophy of modal editing is "thinking speed aligned with typing speed". In normal mode, you are not writing instructions for the computer — you are expressing intent directly. Want to delete a quoted sentence? ci". Want to swap two words? daw then P. No menus, no clicks, no toolbar hierarchy to learn.

The grammar even resembles human language: operator + motion (verb + object). d (delete) + w (word) = "delete word". c (change) + $ (to the end of the line) = "change to the end of the line". Once this grammar is in your muscle memory, you will "talk" to the editor instead of just pressing keys.

Why Modal Editing "Wins"?

AspectModeless Editor (GUI)Modal Editor (Vi/Vim/Neovim)
NavigationMouse / arrow keys + scrollPure keyboard (hjkl, w/b/e, gg/G)
Text manipulationHighlight → click menu / shortcutoperator + motion grammar (2-3 keystrokes)
Hand positionOften moves to the mouseAlways on the home row
Repeatable actionsHard (needs repeated clicks). (repeat last change) with 1 key
Learning curveLow (instant)High (1-2 uncomfortable weeks)
Long-term potentialFast enoughVery fast once mastered

Important

Let's be honest from the start: the first week of using Neovim will feel slower than the editor you already master. This is normal and everyone experiences it. The learning curve is an investment — once your muscles remember the basic motions (episodes 2-4), your editing speed will surpass what is possible with a mouse. That is why this series places the fundamentals of modal editing in the first phase.

Common Pitfalls

Some mindset mistakes commonly happen in this history/philosophy episode:

  1. Thinking Neovim is "just Vim with a theme". Wrong. The architectural differences (Lua, LSP, Treesitter, async) allow Neovim to do things that are impossible in classic Vim.

  2. Installing 50 plugins before understanding the basics. Plugins will not save you from not understanding modal editing. Fundamentals first (episodes 2-4), plugins afterward.

  3. Trying to "memorize" every shortcut at once. Vim/Neovim has hundreds of commands. Do not memorize them — understand the pattern (the operator+motion grammar), and the rest comes from regular use.

  4. Forcing old editor habits. Going back to the arrow keys or pressing Ctrl+S repeatedly in Neovim will slow you down. Trust the process: use normal mode for navigation from day one, even if it feels clumsy.

  5. Giving up in the first week. The modal editing learning curve is indeed steep. Set small targets (for example "this week I will memorize hjkl, w/b, and d/c/y") instead of trying to master everything at once.

Closing

In episode 1 we covered a long historical journey: understanding how Vi was born from the limitations of the ADM-3A keyboard in 1976, how Vim perfected it since 1991, and how Neovim modernized its architecture since 2014. We also compared Vim vs Neovim technically and understood the modal editing philosophy that is the foundation of the entire series.

Key points to take with you:

  • Vi (1976) introduced the mode concept from hardware limitations; Vim (1991) perfected it; Neovim (2014) modernized its architecture.
  • Neovim excels because of first-class Lua, async job control, embeddability, and built-in LSP & Treesitter.
  • Modal editing = mouse-free efficiency + speed of thought.
  • The learning curve is steep, but its long-term potential beats modeless editors.

Now that the theory is solid, it is time to start touching the real keyboard. In episode 2, we will cover Modal Editing & Basic Navigation (Vim Motions) — understanding the four main modes (normal, insert, visual, command-line) and mastering basic navigation: hjkl, w/b/e, 0/$/^, gg/G, scrolling, and searching with /. Make sure your Neovim is ready, because in episode 2 we start typing! Stay motivated, because from here the journey enters its most exciting part.

Learn Neovim - History, Background & Why Choose Neovim | Learn Neovim