Skip to main content

Neovim & LazyVim Documentation

Neovim is a hyperextensible, Lua-powered text editor built on Vim's foundation. It is the standard modern choice for terminal-based development, server administration, and DevOps configuration editing. LazyVim is a popular setup built on top of Neovim.

Who This Track Is For
  • Developers who want a fast, keyboard-driven editor that works everywhere SSH reaches
  • Server operators editing configs, scripts, and code directly on remote machines
  • Engineers wanting a fully configured IDE inside a terminal — without a GUI
  • Anyone moving from basic nano/vim to a professional Neovim setup
What You Will Build
  • A fluent understanding of modal editing and Vim motions
  • A complete Lua-based Neovim configuration from scratch
  • A full IDE setup: LSP, autocompletion, file navigation, Git, and syntax highlighting
  • Repeatable, scripted configuration deployable across any server
How To Use This Track
  • Modules 1–4 focus on core editing — master these before touching plugins
  • Modules 5–6 cover configuration — build your own init.lua
  • Modules 7–11 add IDE features via plugins
  • Modules 12–14 target language-specific and workflow patterns
  • Module 15 is the cheatsheet for daily reference
  • Module 16 is the popular plugins catalog — browse when looking for new tools
  • Module 17 is the LazyVim Distribution — pre-configured Neovim setup with curated plugins and keymaps
  • LazyVim Fast-Track: If you want an IDE immediately — go to Module 17 after completing Modules 1-4

Choose Your Path​

PathDescriptionProsCons
Vanilla NeovimBuild from scratchFull understanding of every lineTakes time to build
LazyVimPre-configured IDEBatteries included, instant setupHarder to understand internals initially

Learning Path​

ModuleFocusLessons
1. IntroductionWhat Neovim is, installation, vim philosophy4
2. Modal EditingModes, navigation, insert, visual4
3. Text Objects and MotionsText objects, operators, combinations3
4. Editing CommandsUndo/redo, search/replace, macros, marks4
5. Buffers, Windows, and TabsWorkspace management3
6. Configuration with Luainit.lua, options, keymaps, Lua basics4
7. Plugin Managementlazy.nvim setup and patterns3
8. LSP and Completionnvim-lspconfig, nvim-cmp, diagnostics3
9. TreesitterSyntax, highlighting, code folding2
10. File NavigationTelescope, Neo-tree, Harpoon3
11. Git IntegrationGitsigns, Neogit, diff workflows3
12. Terminal and WorkflowTerminal mode, tmux integration3
13. Language-Specific SetupLua, Python, JS, PHP/WordPress3
14. TroubleshootingErrors, LSP debugging, performance3
15. CheatsheetMotions, commands, plugin shortcuts3
16. Popular PluginsUI, editing, code quality, AI, data, productivity9
17. LazyVim DistributionOverview, installation, configuration, plugins, extras, cheatsheet, recipes7

Architecture at a Glance​

LayerWhat it does
Neovim coreModal editing, Lua API, async jobs, built-in LSP and Treesitter
Plugin layerTelescope, Gitsigns, Neo-tree, completion, formatting, and other tooling
LazyVim layerPre-configured defaults, keymaps, and curated plugins on top of the same core

Quick Start​

install-and-launch.sh
# Install on Debian/Ubuntu
sudo apt install -y neovim

# Or install latest stable via AppImage
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
tar -C /opt -xzf nvim-linux-x86_64.tar.gz
ln -s /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/nvim

# Check version (need 0.9+ for this track)
nvim --version

# Open a file
nvim myfile.txt
warning

Press i to enter Insert mode and type text. Press Esc to return to Normal mode. Press :wq to save and quit. This is the most critical habit from day one.

The Modal Editing Mental Model​

Start in Normal mode, jump into Insert mode only when typing, and return to Normal mode as soon as possible. Module 2 covers the full mode system in detail.

Neovim vs Other Editors​

FeatureNeovimVS CodeVimnano
SSH usable✅ Native⚠️ SSH extension✅✅
Modal editing✅⚠️ Extension✅❌
Lua scripting✅⚠️ NodeJS❌ VimL❌
Built-in LSP✅✅ Native❌❌
Memory usage~30MB~300MB+~15MB~5MB
Startup speedFast (~50ms)Slow (~3s)Very fastInstant
Learning curveSteepLowSteepNone

Prerequisites​

  • Comfortable with Linux terminal basics
  • SSH access to practice on (or local Linux/macOS)
  • Optional: basic Vim exposure (helpful but not required)

Success Criteria​

By the end of this track, you can:

  • Edit files efficiently using modal editing (no arrow keys, no mouse)
  • Build and maintain a full Lua-based Neovim configuration
  • Understand and customize LazyVim — the premier Neovim distribution
  • Use LSP for autocompletion, diagnostics, and go-to-definition
  • Navigate large codebases with Telescope and Harpoon
  • Manage Git operations without leaving Neovim

Next Step​

Start with What is Neovim.