A streamlined Neovim configuration based on nvimdots
Version:
light_v0.1| Plugins: 37 (lightweight, minimal dependencies)
- π¨ Modern UI: Catppuccin theme, bufferline, statusline, file tree
- π Fast Startup: Optimized plugin loading with lazy.nvim
- π‘ Smart Completion: LSP + nvim-cmp with multiple sources
- π Syntax Highlighting: Treesitter with context-aware features
- π§ Essential Tools: File search (telescope), terminal, git integration
- β¨οΈ Vim-like Experience: Surround, comment, hop, and more
- Neovim >= 0.10.0
- Git
- Bash
- Python 3 (optional, for some LSP servers)
if command -v curl >/dev/null 2>&1; then
bash -c "$(curl -fsSL https://raw.githubusercontent.com/12Jack21/nvim/HEAD/scripts/install.sh)"
else
bash -c "$(wget -O- https://raw.githubusercontent.com/12Jack21/nvim/HEAD/scripts/install.sh)"
fi- Theme: catppuccin, onedarkpro
- Status Line: lualine.nvim
- Tab Line: bufferline.nvim
- Icons: nvim-web-devicons
- Notifications: nvim-notify
- Git Signs: gitsigns.nvim
- LSP Progress: fidget.nvim
- Startup: alpha-nvim
- Indent: indent-blankline.nvim
- Syntax: nvim-treesitter + 10 extensions
- Editing: Comment.nvim, nvim-surround, autoclose.nvim
- Movement: clever-f.vim, hop.nvim, accelerated-jk.nvim
- Navigation: vim-illuminate, clever-f.vim
- Utility: better-escape.nvim, suda.vim, nvim-bufdel
- Folding: pretty-fold.nvim
- Highlighting: nvim-colorizer.lua, todo-comments.nvim
- File Manager: nvim-tree.lua
- Search: telescope.nvim + fzf-native
- Terminal: toggleterm.nvim
- Key Help: which-key.nvim
- Command Palette: legendary.nvim
- Command Line: wilder.nvim
- Diagnostics: trouble.nvim
- Clipboard: smartyank.nvim
- LSP Client: nvim-lspconfig
- Completion Engine: nvim-cmp + 12 sources
- Formatting: none-ls.nvim
- Notes: obsidian.nvim
<leader>:<Space>
<C-p>: Command palette (legendary.nvim)<leader><space>: Search files (telescope)<leader>ff: Find files<leader>fg: Live grep<leader>fb: Buffers<leader>fh: Search history
<C-g>: Show file path<leader>e: Open file explorer (nvim-tree)<leader>bd: Close buffer<leader>bn: Next buffer<leader>bp: Previous buffer
<leader>gc: Toggle commentysiw{: Surround word with bracesds[: Delete surrounding bracketscs[(: Change surrounding brackets<A-l>: Jump out of pairs<A-o>: Jump back into pairs
<A-d>: Toggle floating terminal<A-h>: Toggle horizontal terminal<A-v>: Toggle vertical terminal
<leader>gg: Open lazygit (if installed)<leader>gb: Git blame<leader>gs: Git status
gd: Go to definitiongD: Go to declarationgr: Find referencesgi: Go to implementation<leader>ca: Code actions<leader>rn: Rename symbolK: Show hover documentation
Default theme: catppuccin-frappe
Available themes:
catppuccin(default)catppuccin-frappe(current)catppuccin-macchiatocatppuccin-mochacatppuccin-latteonedarkpro
Change theme in lua/core/settings.lua:
settings["colorscheme"] = "catppuccin-frappe"Configured LSP servers (install via Mason):
- bashls
- clangd
- lua_ls
- pyright
- gopls
Configured via none-ls.nvim:
- Python: black, flake8, ruff
- C/C++: clang_format
- JavaScript/TypeScript: prettier
- Lua: stylua
- Shell: shfmt
- Treesitter parsers may fail to install initially
- Run
:TSUpdateafter first startup - Run
:Masonto ensure LSP servers are installed
- Theme not loading: Check
lua/core/settings.luafor colorscheme - LSP not working: Run
:Masonto install language servers - Completion not showing: Ensure LSP server is installed and running
:Lazy " Open lazy.nvim UI
:Lazy sync " Update all plugins
:Lazy clean " Clean unused pluginsnvim/
βββ lua/
β βββ core/ " Core configuration
β βββ keymap/ " Keybindings
β βββ modules/ " Plugin configurations
β βββ utils/ " Utility functions
βββ scripts/ " Installation scripts
βββ snips/ " Code snippets
This is a personal configuration tailored for specific needs. Feel free to fork and modify for your own use.
This configuration is based on nvimdots, which is licensed under the MIT License.
Note: This is version light_v0.1 - a streamlined configuration focusing on essential features and performance.