🗓️ Week 1 — Core Neovim Proficiency

Day 1: Setup & Basics

  • Install Neovim (v0.9+)

  • Set up init.lua or init.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.lua examples

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.lua or neo-tree.nvim (file explorer)

    • lualine.nvim (status bar)

Day 4: LSP + Autocompletion

  • Set up nvim-lspconfig for 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-fugitive or lazygit.nvim

  • Use :G, :Gstatus, :Gdiff

  • Optional: gitsigns.nvim for 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-dap for debugging

  • Optional: toggleterm.nvim for terminal management

  • Integrate make, npm scripts, or just

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.lua for per-project settings

  • Set up rooter.nvim or project.nvim to 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 :checkhealth to diagnose setup issues.

  • Keep a cheatSheet

  • Use :h keyword liberally — Vim’s docs are solid.