I started using Vim in 2017 because I kept hearing “real programmers use Vim.” 8 years later, I’m still using it, but my setup has changed dramatically.
Why Vim Still?
For me, it’s about flow. My hands never leave the keyboard. I can edit code at the speed of thought. But more importantly, it’s available everywhere - servers, containers, any machine I SSH into.
My Current Setup
Neovim (0.10+) with Lua configuration.
-- init.lua basics
require('plugins')
require('keymaps')
require('settings')
Essential Plugins
After trying dozens, I settled on these:
- Telescope - Fuzzy finder (better than CtrlP ever was)
- Lazy.nvim - Package manager (much faster than Plug)
- Treesitter - Better syntax highlighting
- LSP - Built-in language server support
Keybindings I Actually Use
These are my most-used keybindings (space as leader):
-- Quick file navigation
nnoremap <leader>ff :Telescope find_files<cr>
nnoremap <leader>fg :Telescope live_grep<cr>
nnoremap <leader>fb :Telescope buffers<cr>
-- Git
nnoremap <leader>gs :Git<cr>
nnoremap <leader>gc :Git commit<cr>
-- Quick edits
nnoremap J mzJ`z -- Join line below without moving cursor
nnoremap n nzzzv -- Center search results
What I Wish I Knew Earlier
1. Don’t overconfigure - Start simple, add plugins as needed
2. Learn the motions first - h,j,k,l, w,b,e are enough to start
3. It’s okay to use VS Code with Vim mode - I do this for large refactors
Conclusion
Vim is not for everyone. And that’s okay. But if you spend 8 hours a day in a code editor, investing time in your tool is worth it.