The Pitch
Every few months, someone asks me why I don’t just use VS Code. Simple: I don’t want to touch my mouse. Ever.
Neovim isn’t just a text editor. It’s the idea that every action should be a sequence of keystrokes — composable, repeatable, fast.
My Stack
lazy.nvim
Plugin manager that loads things on demand. Startup under 40ms. Best UI of any plugin manager I’ve tried.
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({ "git", "clone", "--filter=blob:none",
"https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.rtp:prepend(lazypath)
Native LSP
Autocomplete, go-to-definition, rename across files, inline diagnostics — all without leaving the terminal. Pyright for Python, lua_ls for config. It just works.
Telescope
The one plugin I couldn’t live without. Fuzzy file search, live grep, buffer switching — all behind <leader>f. Faster than any GUI file explorer I’ve used.
Treesitter
Syntax highlighting that actually understands your code’s AST. Knows the difference between a function name and a variable. No more regex-based highlighting breaking on edge cases.
Tokyo Night
Obviously. Balanced enough for 10-hour sessions, contrast ratio perfect for my matte display.
Why Not VS Code?
VS Code is great. But it’s built for the mouse. In Neovim:
- Delete a word:
dw - Change inside quotes:
ci" - Search and replace:
:%s/old/new/g
These aren’t shortcuts to memorize — they’re a language. d = delete, w = word. Once you learn the grammar, you can express any edit as a sentence.
The Catch
First two weeks I was slower than I’d ever been. But after a month, I crossed the threshold — and never looked back.
Your editor should feel like an extension of thought. For me, that’s Neovim.
:wq