A modern, minimal Neovim configuration built around the mini.nvim ecosystem with LSP support and essential development tools.
- Neovim 0.11+
- Git (for plugin management)
- Plugin Management: Uses
mini.depsfor lightweight dependency management - LSP Support: Pre-configured language servers for Go, Lua, TypeScript, and Python
- File Navigation: Oil.nvim for directory editing and Harpoon for quick file switching
- Fuzzy Finding: Built-in picker with
mini.pickfor files, buffers, and live grep - Git Integration: Visual diff, git commands, and commit history browsing with
mini.gitandmini.diff - Task Running: Overseer for task management and execution
- mini.align: Text alignment
- mini.animate: Smooth cursor animations
- mini.basics: Essential Neovim settings and mappings
- mini.bracketed: Bracket navigation
- mini.bufremove: Buffer removal utilities
- mini.clue: Contextual key binding hints
- mini.colors: Color utilities
- mini.comment: Smart commenting
- mini.completion: Intelligent autocompletion
- mini.cursorword: Highlight word under cursor
- mini.deps: Plugin dependency management
- mini.diff: Git diff visualization
- mini.doc: Documentation generation
- mini.extra: Extra functionality
- mini.files: File explorer
- mini.fuzzy: Fuzzy matching
- mini.git: Git integration
- mini.hipatterns: Syntax highlighting for TODOs, colors, and password masking
- mini.icons: Icon support
- mini.indentscope: Visual indent guides
- mini.jump: Jump to locations
- mini.jump2d: 2D jumping
- mini.map: Code minimap
- mini.misc: Miscellaneous utilities
- mini.move: Move text objects
- mini.notify: Notification system
- mini.operators: Text operators
- mini.pick: Fuzzy picker for files, buffers, and live grep
- mini.snippets: Snippet support
- mini.splitjoin: Split/join code constructs
- mini.statusline: Clean, informative status bar
- mini.surround: Text object manipulation
- mini.trailspace: Trailing whitespace management
- mini.visits: Track file visits
- Oil.nvim: File manager for directory editing
- Harpoon: Quick file navigation and bookmarking
- Barbecue: LSP-powered breadcrumb navigation
- Undotree: Visual undo history
- Overseer: Task runner and job management
- Supermaven: AI-powered code completion
-
Clone this configuration:
git clone <your-repo-url> ~/.config/nvim
-
Start Neovim -
mini.nvimwill be automatically installed on first run
- Leader:
<Space> - Local Leader:
<Enter>
<leader>ff- Find files<leader>fg- Live grep<leader>fG- Grep word under cursor<leader><space>- Switch buffers<leader>e- Open Oil file manager
gd- Go to definition<leader>ls- Show document symbols<leader>lr- Rename symbol<leader>la- Code actions<leader>le- Show diagnostics<leader>bf- Format buffer
<leader>gb- Git log for current file<leader>gd- Toggle visual diff<leader>gh- Git range history<leader>ga- Git add all<leader>gc- Quick commit with "wip" message
<leader>ut- Toggle undotree<leader>or- Run Overseer task<leader>fc- Change colorscheme<leader>up- Toggle password maskingYY- Yank entire buffer<Esc>- Clear search highlights
Pre-configured LSP servers in the lsp/ directory:
- Go:
gopls- Official Go language server - Lua:
lua_ls- Lua language server - TypeScript/JavaScript:
ts_ls- TypeScript language server - Python:
basedpyright- Python language server based on Pyright
See the Adding LSP Servers Guide for instructions on adding new language servers.
Comprehensive guides are available in the docs/ directory:
- Adding LSP Servers - Guide for adding new language servers
- Adding Plugins - How to add new plugins with mini.deps
- Customization - Modifying options, keybinds, and settings
- Troubleshooting - Common issues and solutions
The configuration is modular with separate files for different concerns:
lua/core/options.lua- Vim options and settingslua/core/keybinds.lua- Key mappingslua/core/mini-modules.lua- Mini.nvim plugin configurationslua/core/lsp.lua- LSP setuplsp/*.lua- Individual language server configurations
See the Customization Guide for detailed instructions on modifying the configuration.
- Smart Folding: Tree-sitter based folding with all folds open by default
- Persistent Undo: 10,000 levels of undo history
- Password Masking: Automatically hide sensitive information in files
- Smooth Scrolling: Enhanced scrolling experience
- Auto-formatting: LSP-based formatting with fallback to Vim's built-in formatter