NeoVim migration#74
Draft
mattmenefee wants to merge 2 commits into
Draft
Conversation
Document the phased migration from MacVim + Vundle + Vimscript to Neovim with its native conventions and ecosystem. The plan is split into 7 phases ordered by dependency so each phase can land independently and leave a working editor: 1. Minimum cutover (also closes #64) 2. Remove Vim-only quirks 3. Replace Vundle with lazy.nvim (foundational for 4-7) 4. Replace syntastic with built-in LSP + nvim-lint 5. File navigation and search (telescope, oil/nvim-tree, ripgrep) 6. Treesitter and completion (nvim-cmp) 7. Convert init.vim to init.lua Each phase is tracked in its own GitHub issue (#67-#73).
Phase 1 of the Neovim migration: stop launching MacVim, start launching Neovim, with the smallest reasonable diff. Modernizing the plugin manager, linter stack, search, and Lua conversion are deferred to later phases (#68-#73). The previous setup ran `mvim -v` against `~/.vimrc` with ~30 Vundle plugins. Most carry over unchanged; the exceptions are called out below. Changes: - Move `home/.vimrc` to `home/.config/nvim/init.vim` and prepend the Neovim → Vim runtimepath shim so Vundle continues finding `~/.vim/bundle/`. - Drop the explicit `undodir` block — Neovim's default `~/.local/state/nvim/undo//` is already outside the homesick castle and auto-created (closes #64). - Drop `set pastetoggle=<F2>` — option removed in Neovim 0.10 (bracketed-paste handles this automatically). - Drop `ervandew/supertab` plugin — incompatible with Neovim 0.12's Lua-callback default mappings; tab completion will be restored via nvim-cmp in Phase 6 (#72). - Drop `flazz/vim-colorschemes` plugin — abandoned 6 years ago with no explicit Neovim support. Switch the active colorscheme from `railscasts` (a community port from that collection) to `new-railscasts` from the already-installed `carakan/new-railscasts-theme` plugin, which is actively maintained and has dedicated markdown / error-state styling. Enable `termguicolors` since the new colorscheme is gui-defined. - Switch `vim` alias to `nvim` in `home/.zshrc`. - Switch bootstrap to `nvim +PluginInstall +qall` in `init.zsh`. - Remove `brew 'macvim'` from `Brewfile`. - Update `README.md` to describe the transitional Neovim + Vundle state and link to `PLAN.md`. Closes #64. Implements #67.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phased migration from MacVim + Vundle + Vimscript to Neovim with its native conventions and ecosystem. This draft PR will accumulate Phase 1 commits; later phases may be split into separate PRs.
The phases are designed so each one can land independently and leave a working editor:
See `PLAN.md` for the full plan.
Test plan
Phase 1: