Overview
This is a fully-featured Neovim configuration designed for modern software development. Built on Neovim 0.11+ with native LSP support, it provides a complete IDE-like experience while maintaining the speed and efficiency of Vim.Modern LSP integration
Native LSP support with intelligent code completion, diagnostics, and formatting
Treesitter powered
Syntax highlighting, text objects, and code navigation with treesitter
Git workflow
Comprehensive git integration with Gitsigns, Neogit, and CodeDiff
Smart completion
Fast, intelligent completion with blink.cmp and ghost text
Key features
Language support
Pre-configured language servers for multiple languages:- Lua - lua_ls with full Neovim API support
- Go - gopls with automatic setup via go.nvim
- TypeScript/JavaScript - ts_ls with biome formatting
- C/C++ - clangd with clang-format
- HTML/CSS - html, cssls, tailwindcss
- Shell - bash-language-server with shellcheck
- And more - YAML, JSON, Markdown, Docker
Development tools
Formatting
Auto-format on save with conform.nvim supporting stylua, prettier, biome, gofumpt, and more
Linting
On-demand linting with nvim-lint supporting eslint_d, luacheck, golangci-lint, and shellcheck
Search & replace
Project-wide search and replace with grug-far.nvim powered by ripgrep
Database
SQL client with vim-dadbod supporting PostgreSQL, MySQL, SQLite, MongoDB, and Redis
Editor enhancements
- Smart indentation - 4 spaces, smart tabs, auto-indent
- Treesitter folds - Code folding based on syntax tree
- Relative line numbers - For easy motion navigation
- Persistent undo - Undo history saved between sessions
- Mouse support - Full mouse support in all modes
UI features
This configuration uses true color support (24-bit RGB). Make sure your terminal supports
termguicolors.- Custom statusline - Minimal, informative status bar
- Treesitter context - Shows current function/class at top of window
- Git signs - Inline git diff indicators in the gutter
- Floating windows - Rounded borders for diagnostics and completion
- Zero cmdheight - More screen space, cmdline overlays statusline
Core plugins
Package management
plugins/- Core plugins (UI, editing, productivity)plugins/languages/- Language-specific pluginsplugins/lsp/- LSP configuration and tools
Text objects and motions
Treesitter text objects provide semantic code navigation:Configuration structure
Philosophy
This configuration avoids Mason for tool management. All language servers, formatters, and linters should be installed globally on your system for better control and consistency.
- Native first - Use Neovim’s built-in features when possible
- Explicit over magic - Clear configuration over hidden defaults
- Performance matters - Lazy loading and optimized for large files
- System tools - External tools installed globally, not in Neovim
Next steps
Installation
Install the configuration and required dependencies
Quick start
Get up and running in minutes