.
├── init.lua # Main entry point
├── lazy-lock.json # Generated by lazy.nvim
├── lua/
│ ├── core/ # Core configuration
│ │ ├── init.lua # Loads all core modules
│ │ ├── keymaps.lua # All keybindings in one place
│ │ └── options.lua # Vim options and settings
│ └── plugins/ # Plugin configurations
│ ├── init.lua # Plugin loader
│ ├── cmp.lua # Completion plugin config
│ ├── lsp.lua # LSP configuration
│ ├── telescope.lua # Telescope config
│ ├── treesitter.lua # Treesitter config
│ └── ui.lua # UI-related plugins (themes, lualine, etc.)
└── README.md # Documentation
- Modular Organization: Each component of the configuration is in its own file
- Lazy Loading: Plugins load only when needed for faster startup
- LSP Support: Full Language Server Protocol integration with Mason
- Code Completion: Powerful completion with nvim-cmp, codeium and copilot
- Syntax Highlighting: Advanced highlighting with Treesitter
- Fuzzy Finding: Fast file navigation with Telescope
- File Explorer: Integrated with Neo-tree and telescope file browser
- Aesthetic UI: Beautiful UI with TokyoNight theme and Lualine
Install requires Neovim 0.9+. Always review the code before installing a configuration.
-
Back up your existing Neovim configuration (if any):
mv ~/.config/nvim ~/.config/nvim.bak
-
Clone this repository:
git clone https://github.com/Rinfella/vanilla-nvim.git ~/.config/nvim
-
Start Neovim:
nvim
-
Lazy.nvim will automatically install all plugins on first launch.
See lua/core/keymaps.lua
for all keybindings.
<Leader>w
- Save file<Leader>q
- Quit<Esc>
- Clear search highlights
<Leader>e
- Open file explorer (Neo-tree)<Leader>ff
- Find files<Leader>fg
- Live grep<Leader>fb
- Find buffers<Leader>fh
- Find help tags
K
- Hover documentationgd
- Go to definitiongD
- Go to declarationgi
- Go to implementationgr
- Find references<Leader>rn
- Rename<Leader>ca
- Code action<Leader>D
- Type definition<Leader>ds
- Document symbols<Leader>ws
- Workspace symbols