A modern, feature-rich Neovim configuration focused on productivity and extensibility.
-
Backup your existing Neovim config:
mv ~/.config/nvim ~/.config/nvim.backup
-
Clone this repository:
git clone https://github.com/yourusername/your-repo-name.git ~/.config/nvim
-
Install Neovim (0.9+ recommended):
- Ubuntu/Debian: sudo apt install neovim
- Fedora: sudo dnf install neovim
- Arch Linux: sudo pacman -S neovim
- macOS: brew install neovim
- Or download from neovim.io
-
Install dependencies:
- Node.js (for LSP servers)
- Python (for DAP)
- Git
- ripgrep (for Telescope)
-
Launch Neovim and let lazy.nvim install plugins automatically.
- <Space> - Leader key
- <leader>ff - Find files (Telescope)
- <leader>fg - Live grep (Telescope)
- <leader>fb - Buffers (Telescope)
- <leader>fh - Help tags (Telescope)
- gd - Go to definition
- gr - References
- K - Hover documentation
- <leader>ca - Code actions
- <F5> - Start/Continue debugging
- <F10> - Step over
- <F11> - Step into
- <F12> - Step out
- <leader>gs - Git status
- <leader>gc - Git commit
- <leader>gp - Git push
- - - Open Oil file explorer
- <CR> - Open file/directory in Oil
~/.config/nvim/
├── lua/wilson/
│ ├── init.lua # Main entry point
│ ├── lazy.lua # Plugin definitions
│ ├── lazy/ # Individual plugin configs
│ ├── remap.lua # Key mappings
│ └── set.lua # Vim options
├── after/plugin/ # Plugin-specific configs
└── README.md # This file
- Plugins: Add/remove plugins in lua/wilson/lazy.lua
- Keymaps: Modify in lua/wilson/remap.lua
- Settings: Adjust in lua/wilson/set.lua
- Themes: Change in lua/wilson/lazy.lua (currently set to Tokyo Night)
- Neovim 0.9+
- Git
- Node.js 16+ (for some LSP servers)
- Python 3.8+ (for DAP)
- ripgrep (optional, for better search performance)
- Plugins not loading: Run :Lazy sync in Neovim
- LSP not working: Install language servers with :Mason
- Performance issues: Check :Lazy profile for slow plugins
This configuration is provided as-is. Feel free to use and modify for your own setup.