Summary
Modernize this Neovim config: migrate from Vimscript to Lua, replace deprecated/abandoned plugins, switch plugin manager, and update the repo structure.
Motivation
This config hasn't been touched in years. It uses vim-plug (vendored submodule), deprecated plugins (YouCompleteMe, Deoplete, Denite, LanguageClient-neovim, neoyank), and is entirely in Vimscript. Neovim v0.12 is installed locally — the config should take advantage of native LSP, treesitter, and the modern Lua plugin ecosystem.
Audit Results
Immediate removals (deprecated / abandoned / replaced by better alternatives)
| Plugin |
Reason |
| YouCompleteMe |
Requested removal; deprecated; replaced by nvim-cmp + LSP |
| Deoplete |
Deprecated by author |
| LanguageClient-neovim |
Deprecated; nvim has built-in LSP client |
| Denite |
Deprecated by author |
| neoyank |
Only useful with Denite |
| CompleteParameter |
LSP handles parameter completion |
| vim-polyglot |
Replaced by treesitter |
| cpp-enhanced-highlight |
Treesitter handles C/C++ |
| swift.vim |
Treesitter handles Swift |
| vim-ansible-yaml |
Treesitter + LSP handle YAML |
| vim-livedown |
Unmaintained |
| vim-multiple-cursors |
Unmaintained; native alternatives exist |
Replacements
| Old |
New |
Reason |
| vim-plug (vendored submodule) |
lazy.nvim |
Self-bootstrapping, Lua-native, faster |
| NERDTree + nerdtree-git-plugin |
neo-tree.nvim |
Lua, better UX, git integration built-in |
| vim-startify |
alpha-nvim |
Lua, lighter |
| vim-gitgutter |
gitsigns.nvim |
Lua, faster, more features |
| Denite (fuzzy finder) |
fzf-lua |
Fast, uses fzf binary |
| UltiSnips |
LuaSnip |
Lua-native, better nvim-cmp integration |
| vim-airline |
lualine.nvim |
Lua, lighter |
| rainbow |
rainbow-delimiters.nvim |
Maintained fork |
| gruvbox (Vimscript) |
gruvbox.nvim |
Lua port |
| nord-vim |
nordic.nvim or drop |
Lua port |
Keep as-is
vim-surround, vim-commentary, vim-repeat, vim-endwise, vim-easy-align, vim-fugitive, undotree, editorconfig-vim, auto-pairs, vim-bufonly, vim-bufkill, vim-pandoc (+ syntax), vim-snippets (custom)
New additions
| Plugin |
Purpose |
| lazy.nvim |
Plugin manager |
| nvim-cmp |
Autocompletion engine |
| LuaSnip |
Snippet engine |
| mason.nvim |
LSP/DAP/linter installer |
| nvim-lspconfig |
LSP configuration |
| nvim-treesitter |
Syntax highlighting + textobjects |
| fzf-lua |
Fuzzy finder |
| neo-tree.nvim |
File explorer |
| gitsigns.nvim |
Git gutter signs |
| lualine.nvim |
Status line |
| alpha-nvim |
Start screen |
| rainbow-delimiters.nvim |
Rainbow parentheses |
| gruvbox.nvim |
Colorscheme |
| which-key.nvim |
Keybinding discovery (nice-to-have) |
Acceptance Criteria
Summary
Modernize this Neovim config: migrate from Vimscript to Lua, replace deprecated/abandoned plugins, switch plugin manager, and update the repo structure.
Motivation
This config hasn't been touched in years. It uses vim-plug (vendored submodule), deprecated plugins (YouCompleteMe, Deoplete, Denite, LanguageClient-neovim, neoyank), and is entirely in Vimscript. Neovim v0.12 is installed locally — the config should take advantage of native LSP, treesitter, and the modern Lua plugin ecosystem.
Audit Results
Immediate removals (deprecated / abandoned / replaced by better alternatives)
Replacements
Keep as-is
vim-surround, vim-commentary, vim-repeat, vim-endwise, vim-easy-align, vim-fugitive, undotree, editorconfig-vim, auto-pairs, vim-bufonly, vim-bufkill, vim-pandoc (+ syntax), vim-snippets (custom)
New additions
Acceptance Criteria
mastertomainbig.vim,autoload/submodule,plug.vim.old)init.lua+ modularlua/structure)after/syntax/make.vimpreserved