A modern, feature-rich Neovim configuration focused on productivity and seamless development experience.
- Plugin Management: Uses lazy.nvim for efficient plugin management
- LSP Support: Full Language Server Protocol integration with auto-formatting
- Code Completion: Powerful completion with nvim-cmp and GitHub Copilot integration
- Testing Framework: Integrated with neotest for running tests directly from Neovim
- UI Enhancements:
- Trouble.nvim for better diagnostic display
- Noice.nvim for enhanced command-line UI
- Customized dashboard
- Navigation:
- Telescope for fuzzy finding
- Harpoon for quick file navigation
- Advanced tree-sitter integration
- Git Integration: Seamless version control workflow
- TMux Integration: Smooth interaction with terminal multiplexer
- Neovim >= 0.11.0
- Git
- A Nerd Font (for icons)
- NodeJS (for some LSP features)
-
Backup your existing Neovim configuration if you have one:
mv ~/.config/nvim ~/.config/nvim.backup
-
Clone this repository:
git clone https://github.com/Macnolo0x7D4/nvim-config.git ~/.config/nvim
-
Start Neovim:
nvim
-
The configuration will automatically install lazy.nvim and all required plugins on first start.
<leader>t
- Run current test<leader>tf
- Run tests in current file<leader>xx
- Toggle diagnostics in Trouble<leader>cs
- Toggle symbols in Trouble<leader>F
- Format current buffer
Check the lua/macnolo/keymaps.lua
file for a complete list of key mappings.
init.lua
- Entry pointlua/macnolo/init.lua
- Main configurationlua/macnolo/options.lua
- Neovim optionslua/macnolo/keymaps.lua
- Key mappingslua/macnolo/lazy.lua
- Plugin manager setuplua/macnolo/plugins/
- Plugin-specific configurations
To customize this configuration:
- Modify options in
lua/macnolo/options.lua
- Adjust key mappings in
lua/macnolo/keymaps.lua
- Add or remove plugins by editing files in the
lua/macnolo/plugins/
directory
- All plugin authors for their amazing work
- Neovim team for creating such an extensible editor