Editor
Neovim: editing at the speed of thought — once it clicks.
Neovim is a keyboard-first editor that lives in the terminal. It is optional, not a purity test, but it pairs beautifully with an agent workflow because edits, searches, diagnostics, Git, and terminal panes all stay close. Here it comes pre-loaded with LazyVim, so the file explorer, search, and code intelligence already work on day one.
#The one idea: modes
Every other editor is always in "typing" mode. Neovim has modes, and this is the whole thing to understand. In Normal mode — where you start — the keys aren't letters, they're commands: d deletes, y copies, j moves down. To actually type text, you switch to Insert mode. To do anything else, you come back to Normal. Normal mode is home base.
Lost, or keys doing strange things? Press Esc. It returns you to Normal mode from anywhere. This single habit fixes ninety percent of "Neovim is broken" moments.
#Surviving your first session
Yes — the classic question is "how do I get out." Here's the whole survival kit. Open a file with nvim <name> (or just vim, which is aliased to it here).
| i | Enter Insert mode and start typing |
| Esc | Back to Normal mode |
| :w | Save (write) the file |
| :q | Quit |
| :wq | Save and quit in one go |
| :q! | Quit without saving — throw away changes |
Those : commands are Command mode. Type the colon, the letters, then Enter. That's enough to never feel trapped again.
#Moving around
In Normal mode you fly without arrow keys (though arrows work too). Your right hand stays on the home row.
| hjkl | Left, down, up, right |
| w / b | Forward / back one word |
| 0 / $ | Start / end of the line |
| gg / G | Top / bottom of the file |
| Ctrld / Ctrlu | Half a page down / up |
#Editing is a little language
This is the part that makes people fall for Neovim. Edits are built from a verb plus a motion, and they combine like grammar. Learn a few verbs and a few motions and you can express thousands of edits.
| d | Delete · c change · y yank (copy) · p paste |
| dw | Delete a word (verb d + motion w) |
| ciw | Change inside the word the cursor is on |
| dd / yy | Delete / copy the whole line |
| u | Undo · Ctrlr redo |
Read them aloud: dw is "delete word," ciw is "change inside word." Once the grammar clicks, you stop memorizing keys and start composing them.
#It's already set up: LazyVim
You're not running bare Neovim — it's configured with LazyVim, which adds a file tree, fuzzy finding, autocomplete, and language smarts out of the box. The gateway to all of it is the leader key, which is Space.
Press Space and wait half a second. A menu pops up showing every command you can run next, and what it does. You don't have to memorize the shortcuts below — press Space, read, and pick. Discovery beats memorization.
| SpaceSpace | Find a file by name (just start typing part of it) |
| Space/ | Search the text of every file in the project |
| Spacee | Toggle the file explorer |
| Spacegg | Open lazygit right inside the editor |
#It plays nice with tmux
Neovim and tmux are wired together: Alth/j/k/l moves between Neovim's split windows and tmux's panes with the same keys — no thinking about which is which. Open the editor in one tmux pane, a shell in another, and move around the whole layout seamlessly.
#Practice
Do vimtutor — twice
Close this and run vimtutor in your terminal. It's a free, built-in, ~30-minute hands-on lesson — the single best way to start. Do it once today and once tomorrow. Nothing on this page beats actually doing it.
Type, escape, save, quit
Run nvim scratch.txt. Press i, type a sentence, press Esc. Save and quit with :wq then Enter. Reopen it to prove the text is there. You've now escaped Neovim on purpose.
Speak the grammar
In a file with a few lines, try dd (delete line), u (undo it), ciw on a word (change it), and yy then p (copy a line and paste it). Say each one aloud as you go.
Use the real tools
In a project folder, open nvim, then press Space and wait to see the menu. Find a file with SpaceSpace, search the project with Space/, and pop open lazygit with Spacegg.
Plan on a couple of awkward weeks; every Neovim user had them. You can't break anything permanently — the config lives in the setup repo, so if Neovim ever gets strange, re-applying restores it. Push through the dip and it becomes second nature.
#Lua and config files
Modern Neovim is configured mostly with Lua, a small scripting language. You can use this setup without learning Lua first. Just know that files ending in .lua are editor configuration or plugin code, and :help lua-guide is the built-in reference when you want to go deeper.
#Going deeper
Start — learn the motions:
vimtutor(or:Tutorin Neovim) — the built-in ~30-minute lesson. Start here, really.- ThePrimeagen: Vim as your editor (video series) — motion by motion; teaches the keys, not config.
- Vim Adventures & openvim — learn the motions as a game.
Go further — config & mastery:
- Learn Vim (the Smart Way) — a free, well-structured modern guide to the good parts.
- TJ DeVries: the only video you need to get started with Neovim — from a core maintainer.
- LazyVim docs — what the pre-installed setup gives you and how to extend it.
- Practical Vim (book) — 120+ tips; teaches you to think in Vim.
- Neovim docs and
:help lua-guide— the authoritative reference.