3.3 KiB
3.3 KiB
Neovim Migration Checklist
Source of truth for the step-by-step rebuild. Keep this concise and up to date. See details in neovim-migration-guide.md.
Phase 0 — Ground Rules
- Create AGENTS.md with rules
Phase 1 — Clean & Archive Legacy Config
- Confirm scope and priorities for this phase
- Inventory existing Vimscript, plugin files, and directories
- Create
legacy/archive folder within this config - Move legacy init files and plugin directories into
legacy/(do not delete) - Optionally add
legacy/README.mdnoting what was archived - Keep
undodir,spell,view,UltiSnips,templatesas-is for now (review later)
Phase 2 — Bootstrap
- Confirm scope and priorities for this phase
- Scaffold Lua config skeleton (
init.lua,lua/settings.lua,lua/keymaps.lua,lua/autocmds.lua,lua/utils.lua,lua/plugins/) - Bootstrap
lazy.nvimplugin manager - Disable unused providers (ruby, perl, node)
Phase 3 — Core Editing & LSP
- Confirm scope and priorities for this phase
- Port non-plugin settings to Lua (options, listchars, showbreak, spelllang=en_gb)
- Add core completion stack:
nvim-cmp,cmp-nvim-lsp,cmp-buffer,cmp-path,LuaSnip - Add
nvim-lspconfigwith minimal defaults (no over-configuration)
Phase 4 — Navigation
- Confirm scope and priorities for this phase
- Add
neo-tree.nvimwith per-tab roots, sidebar toggle, floating view, and preview keymap (no buffer pollution) - Add
telescope.nvim(+ optionaltelescope-fzf-native.nvim) and basic pickers
Phase 5 — Treesitter
- Confirm scope and priorities for this phase
- Add
nvim-treesitterwith incremental selection, highlighting - Add
nvim-treesitter-textobjects - Add
nvim-ts-autotag
Phase 6 — UX / Editing
- Confirm scope and priorities for this phase
- Add
numToStr/Comment.nvim - Add
kylechui/nvim-surround - Add
windwp/nvim-autopairs - Add
lukas-reineke/indent-blankline.nvim - Add
ggandor/leap.nvimorfolke/flash.nvim - Add
kevinhwang91/nvim-ufofor folding - (Optional) Add
mbbill/undotree
Phase 7 — Git, Markdown, Copilot, Formatting
- Confirm scope and priorities for this phase
- Add
lewis6991/gitsigns.nvim - Add
render-markdown.nvim - Add
zbirenbaum/copilot.lua+copilot-cmp - Add
nvimtools/none-ls.nvimwith minimal formatters/linters
Phase 8 — Migrate Kept Behaviours
- Confirm scope and priorities for this phase
- Abbreviations:
adn→and,waht→what,tehn→then,functin→function,positin→position - Templates: auto-populate new
.shfrom template - Whitespace highlighting (modern approach)
- Persistent folds (via UFO)
Phase 9 — Cleanup & Validation
- Confirm scope and priorities for this phase
- Retire legacy Vimscript files (keep for reference until verified)
- Validate startup performance (no errors, fast launch)
- Validate tab-per-context workflow with Neo-tree
- Validate Telescope navigation + LSP jumps
- Validate HTML/PHP/JS/Markdown tooling
Notes:
- Keep plugin specs minimal; configure in their own
lua/plugins/*.luafiles. - Avoid adding plugins not listed in the guide unless explicitly requested.
- Prefer simple defaults; only add settings that clearly improve workflow.