Clean, modular Neovim configuration organized for maintainability.
~/.config/nvim/
├── init.lua # Main entry point (loads everything)
├── lua/
│ ├── config/
│ │ ├── options.lua # All vim.opt settings
│ │ ├── keymaps.lua # General keybindings
│ │ └── lazy.lua # Plugin manager bootstrap
│ └── plugins/
│ ├── colorscheme.lua # Tokyo Night theme
│ ├── ui.lua # Starter screen, statusline, indent guides
│ ├── navigation.lua # Telescope, Harpoon, Oil, Neo-tree
│ ├── editor.lua # Comments, Autopairs, Surround
│ ├── git.lua # GitSigns, Lazygit
│ ├── treesitter.lua # Syntax highlighting
│ ├── lsp.lua # Language servers & Mason
│ ├── completion.lua # nvim-cmp setup
│ └── misc.lua # Other stuff (undotree, which-key, AI)
-
Backup your current config:
mv ~/.config/nvim ~/.config/nvim.backup
-
Copy this config:
cp -r nvim-config ~/.config/nvim -
Launch Neovim - plugins will auto-install:
nvim
- Leader key:
<Space> - Local leader:
, - File finding:
<leader>ff(Telescope) - Live grep:
<leader>fg - File tree:
<C-n>(Neo-tree) or-(Oil) - Git:
<leader>gg(Lazygit) - Harpoon:
<leader>ato add,<leader>hfor menu - Python:
<leader>xto run current file - Undo tree:
<leader>u
Each plugin file is independent - modify any file in lua/plugins/ and restart Neovim.
To change colors, edit lua/plugins/colorscheme.lua.
To change the ASCII art, edit the header in lua/plugins/ui.lua.
This structure is perfect for Claude Code to make changes:
- Each plugin is in its own file
- Clear separation of concerns
- Easy to modify specific features
- Well-commented and organized