A comprehensive Neovim configuration featuring built-in LSP, AI assistance, and modern development tools.
This configuration is tailored for my personal use. Rather than directly copying it, I encourage you to use it as inspiration to understand plugin ecosystems, dependency management, and configuration organization patterns for your own setup.
- Neovim
>= 0.10.0(required for all features) - Git
>= 2.19.0(for plugin management and version control) - A Nerd Font (recommended: JetBrainsMono Nerd Font for icons and symbols)
# Unix-like systems (Linux/macOS)
git clone https://github.com/jinzhongjia/neovim-config.git ~/.config/nvim
# Windows
git clone https://github.com/jinzhongjia/neovim-config.git ~/AppData/Local/nvim# clone
git clone https://github.com/jinzhongjia/neovim-config.git ~/.config/nvim
cd ~/.config/nvim
# first open (downloads plugins)
nvim
# inside Neovim (after install finishes)
:Mason # install language servers / linters / formatters
:checkhealth # verify environment
# optional helpers
:Lazy update # keep plugins fresh- Open Neovim and wait for Lazy.nvim to install all plugins automatically
- Run
:checkhealthto verify your environment - Run
:Masonto install LSP servers, formatters, and linters - Restart Neovim to ensure all configurations are loaded
- git
>= 2.19.0- Version control and plugin management - curl or wget - HTTP client for downloading tools
- cmake
>= 3.10- Build system for native extensions - make - Build automation
- gcc or clang - C compiler for Treesitter parsers
- unzip - Archive extraction for Mason packages
- Node.js
>= 18.0.0& npm - JavaScript/TypeScript development- Required for many LSP servers and tools
- Python
>= 3.8& pip - Python development- Required for some formatters and linters
- Go
>= 1.20- Go development- Required for Go LSP and tools
- Rust & cargo - Rust development
- Required for Rust analyzer and some tools
- Zig
>= 0.11.0- Zig language support - .NET SDK
>= 6.0- C# development - Lua
>= 5.1- Lua development
- Lazygit - Terminal UI for Git (integrated with Neovim)
- Lazydocker - Terminal UI for Docker
- MCP Hub - Model Context Protocol server support
- GitHub CLI (
gh) - GitHub integration - jq - JSON processor (for some plugins)
- ripgrep (
rg) - Fast text search (used by Snacks.nvim)
- Compilation toolchain (gcc/clang, make, cmake) for building native extensions & Treesitter
- unzip / tar utilities for extracting packages
- SSL development libs (e.g. libssl) if certain tools require HTTPS features
Note: The configuration auto-detects and configures settings for these GUI clients.