🗓️ Week 1 — Core Neovim Proficiency
✅ Day 1: Setup & Basics
-
Install Neovim (
v0.9+) -
Set up
init.luaorinit.vim(start with Lua if future-proofing) -
Learn basic navigation:
-
Modes (
Normal,Insert,Visual,Command) -
Moving around (
h/j/k/l,w,b,gg,G,%)
-
-
Practice basic editing:
x,dd,yy,p,u,Ctrl-r
✅ Day 2: Custom Keybinds & Files
-
Learn window and buffer management:
:split,:vsplit,:bn,:bp,:bd
-
Map some personal keybinds in config
-
Explore
.vimrc/init.luaexamples
✅ Day 3: Plugin Manager (lazy.nvim / packer.nvim)
-
Set up plugin manager (recommend:
lazy.nvim) -
Add a few core plugins:
-
telescope.nvim(fuzzy finding) -
nvim-tree.luaorneo-tree.nvim(file explorer) -
lualine.nvim(status bar)
-
✅ Day 4: LSP + Autocompletion
-
Set up
nvim-lspconfigfor your language (e.g.,tsserver,pyright) -
Add autocompletion:
nvim-cmp+cmp-nvim-lsp -
Practice jumping to definitions, diagnostics
✅ Day 5: Syntax Highlighting & Treesitter
-
Set up
nvim-treesitter -
Enable highlighting, indentation, and folding
-
Practice code navigation with treesitter text objects
✅ Day 6: Git Integration
-
Install
vim-fugitiveorlazygit.nvim -
Use
:G,:Gstatus,:Gdiff -
Optional:
gitsigns.nvimfor gutter signs
✅ Day 7: Review + Repetition
-
Customize your config
-
Work only in Neovim for light tasks (notes, small edits)
-
Start converting daily dev into nvim gradually
🗓️ Week 2 — Productivity and Power Use
✅ Day 8: Telescope Mastery
-
Map shortcuts for:
-
Find files
-
Live grep
-
Buffers
-
Git status
-
✅ Day 9: File Navigation and Tabs
-
Customize
nvim-tree/neo-tree -
Use
tabnew,gt,gT -
Learn
:b#,:ls, buffer switching
✅ Day 10: Debugging and Task Runners
-
Add
nvim-dapfor debugging -
Optional:
toggleterm.nvimfor terminal management -
Integrate
make,npm scripts, orjust
✅ Day 11: Snippets and Code Automation
-
Install
LuaSnip -
Add a snippet collection or write custom ones
-
Map tab completions / snippet expansion
✅ Day 12: Theming & UI Tweaks
-
Install color scheme (
tokyonight,gruvbox, etc.) -
Customize status line, indent guides, icons
✅ Day 13: Project-Specific Config
-
Use
.nvim.luafor per-project settings -
Set up
rooter.nvimorproject.nvimto manage root dirs
✅ Day 14: Full Day in Neovim
-
Migrate current project work to Neovim
-
Only use VS Code for edge cases
-
Benchmark your speed — note areas that feel slower
Bonus Tips:
-
Use
:checkhealthto diagnose setup issues. -
Keep a cheatSheet
-
Use
:h keywordliberally — Vim’s docs are solid.