What Is Neovim?

Neovim is a fork of Vim (which is itself a descendant of vi), started in 2014 with the goal of modernizing the codebase, improving extensibility, and providing better integration with modern tooling. It is fully compatible with Vim's editing model while adding:

  • A built-in LSP client (Language Server Protocol)
  • Lua as a first-class language for configuration and scripting
  • Asynchronous task management (non-blocking operations)
  • A built-in terminal emulator
  • A remote-plugin architecture (plugins can run as separate processes)
  • Tree-sitter integration for advanced syntax highlighting and text objects

Neovim is driven entirely from the keyboard. A mouse is not required (though its support exists). The core idea is that your hands stay on the home row at all times, and any action — from moving the cursor to refactoring code — is one or two keystrokes away.

The Philosophy: Modal Editing

Unlike ordinary editors (VS Code, Sublime, etc.), where keys always insert characters, Neovim is modal: the same keys do different things depending on the current mode.

Think of a camera:

  • In normal mode, keys are buttons (like the buttons on a camera).
  • In insert mode, keys type text (as if the camera were recording).

This may seem strange at first, but it is precisely where Neovim's power lies. In normal mode, every key on your keyboard is available as a command. This means you have a huge vocabulary of editing operations without resorting to awkward chords like Ctrl+Shift+Alt+X.

The learning curve is steep at the beginning: the first few days everything is slow. After that, editing speed increases dramatically because you combine motions and edits like a language.

Contents