Get up and running with this Neovim configuration in under 15 minutes.
This guide will help you install a modern, feature-rich Neovim configuration with:
- Code intelligence via LSP (Language Server Protocol)
- Fuzzy finding and project navigation
- Git integration and version control
- LaTeX support for academic writing
- AI-powered assistance and more
See the Technical Glossary for definitions of unfamiliar terms.
Already have a Neovim config? See the Migration Guide for preserving your customizations while adopting this setup.
Alternative: For AI-powered installation assistance with automated dependency checking and troubleshooting, see the Claude Code-Assisted Installation Guide.
New users start here for the fastest installation path.
Ensure you have the basics installed. See Platform Guides for OS-specific commands.
Required:
- Neovim (>= 0.9.0)
- Git
- A Nerd Font (RobotoMono recommended)
Check if installed:
nvim --version # Should show 0.9.0 or higher
git --versionIf you have an existing Neovim setup:
mv ~/.config/nvim ~/.config/nvim.backup
mv ~/.local/share/nvim ~/.local/share/nvim.backupgit clone https://github.com/REPOSITORY_URL ~/.config/nvim
cd ~/.config/nvimReplace REPOSITORY_URL with the actual repository (or your fork).
nvimNeovim will automatically install plugins. This takes 2-5 minutes. Wait for completion, then restart Neovim.
Run the health check:
:checkhealthFix any warnings by installing missing dependencies. See Platform Guides for installation commands.
Common fixes:
# Python provider
pip3 install --user pynvim
# Node.js provider
npm install -g neovimYou now have a working Neovim configuration. Try:
<C-p>- Find files<leader>ff- Search files (leader key is Space)<leader>e- File explorer
Next steps:
- Review detailed installation for optional features
- Read GLOSSARY.md for technical terms
- Explore ADVANCED_SETUP.md for customization
Complete prerequisites information for understanding what's needed and why.
These must be installed for basic functionality.
| Dependency | Purpose | Install Guide |
|---|---|---|
| Neovim (>= 0.9.0) | Modern text editor | Platform Guides |
| Git | Version control | Platform Guides |
| Nerd Font | Icon display | Platform Guides |
See Prerequisites Reference for detailed dependency explanations.
These significantly enhance the experience but aren't strictly required.
| Tool | Purpose | Install Guide |
|---|---|---|
| ripgrep (rg) | Fast text search | Platform Guides |
| fd | Fast file finding | Platform Guides |
| lazygit | Git interface | Platform Guides |
| Node.js | LSP servers | Platform Guides |
| Python 3 | Python plugins | Platform Guides |
For specific workflows. Can be installed later.
- LaTeX: Academic writing support - see Advanced Setup
- Lean 4: Theorem proving - see Advanced Setup
- Jupyter: Notebook support - see Advanced Setup
For detailed, OS-specific installation commands:
Comprehensive installation with customization options.
If you want to customize and track your changes:
- Visit the repository on GitHub
- Click "Fork" to create your own copy
- Clone your fork instead:
git clone https://github.com/YOUR_USERNAME/REPO_NAME.git ~/.config/nvim
This allows:
- Tracking personal customizations
- Syncing with upstream updates
- Contributing improvements back
See Git Configuration Guide for complete forking workflow.
On first launch, Lazy.nvim automatically:
- Downloads all plugins
- Installs dependencies
- Compiles native modules
What you'll see:
- Progress bars for each plugin
- Possible warnings (normal during first install)
- Dashboard appears when complete
If installation fails:
:Lazy sync " Retry installation
:Lazy health " Check for issuesThe :checkhealth command verifies your installation. Understanding the output:
Core Neovim:
- Checks Neovim version and build
- Verifies runtime paths
Providers:
- Python: Required for Python-based plugins
- Node.js: Required for LSP servers and JavaScript plugins
- Ruby: Optional, rarely needed
Plugins:
- Each plugin reports its health
- Red errors need fixing
- Yellow warnings are often optional
Fixing Common Issues:
Missing Python provider:
pip3 install --user pynvimMissing Node.js provider:
npm install -g neovimMissing LSP servers:
:Mason " Opens LSP server installerLSP servers install automatically when you open relevant file types, or install manually via Mason.
UV Package Manager (optional, for MCP-Hub AI):
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# NixOS
nix-env -iA nixpkgs.uvSee docs/UV_SETUP.md for details.
Test core functionality after installation.
<C-p> " File finder (Telescope)
<leader>ff " Find files by name
<leader>e " File explorer (neo-tree)<leader>fs " Search text in project (ripgrep)
<leader>fw " Find word under cursor
<leader>fh " Search help documentationOpen any code file:
gd " Go to definition
K " Hover documentation
<leader>ca " Code actions
<leader>rn " Rename symbol<leader>gs " Git status (lazygit)
<leader>gc " Git commits
<leader>gb " Git blameCommon issues and their solutions.
Symptoms: Commands don't work, features missing
Solutions:
:Lazy sync " Re-sync plugins
:Lazy health " Check plugin status
:Lazy clean " Remove unused pluginsSymptoms: No code completion, no go-to-definition
Solutions:
:LspInfo " Check LSP status
:Mason " Install LSP servers
:checkhealth lsp " Detailed LSP diagnosticsCommon cause: LSP server not installed for your file type.
Fix: Open :Mason and install relevant server (e.g., lua_ls for Lua).
Symptom: File explorer shows squares instead of icons
Solution: Install a Nerd Font and configure your terminal to use it.
See Platform Guides for Nerd Font installation.
Solutions:
:AnalyzeStartup " See what's slow
:ProfilePlugins " Profile plugin load timesConsider:
- Disabling unused plugins
- Lazy-loading more plugins
- Reducing auto-commands
If things are broken beyond repair:
# Remove all plugin data
rm -rf ~/.local/share/nvim
rm -rf ~/.local/state/nvim
# Restart Neovim (will reinstall everything)
nvimKeep your configuration current with upstream changes.
Add the original repository as upstream:
cd ~/.config/nvim
git remote add upstream https://github.com/ORIGINAL_AUTHOR/REPO_NAME.git# Fetch latest changes
git fetch upstream
# Merge into your configuration
git merge upstream/main
# Update plugins
nvim -c "Lazy sync" -c "qa"If you have local changes:
git stash # Save local changes
git merge upstream/main
git stash pop # Restore local changesSee Git Configuration Guide for complete workflow.
After successful installation, explore these resources:
- Technical Glossary: Understand LSP, Mason, providers, and other concepts
- Keybindings: Learn keyboard shortcuts (if file exists)
- Main README: Feature overview and usage guide
- Advanced Setup: LaTeX, email integration, terminal customization
- Platform Guides: OS-specific installation details
- Zotero Integration: Bibliography management
- Terminal Setup: Enhanced terminal experience
Start customizing your configuration:
lua/neotex/config/keymaps.lua- Key bindingslua/neotex/plugins/ui/colorscheme.lua- Color schemelua/neotex/config/options.lua- Editor options
If you encounter issues:
- Health Check:
:checkhealthprovides diagnostic information - Logs: Check
~/.local/state/nvim/log/for error messages - Documentation: This guide and linked resources
- AI Assistant:
<leader>aifor configuration questions (if configured) - GitHub Issues: Report bugs or ask questions on GitHub
- Installation Documentation Index: All installation guides
- Prerequisites Reference: Detailed dependency info
- Git Configuration: Git workflow and setup
- Technical Glossary: Term definitions
Welcome to your new Neovim configuration! <�
- ARCHITECTURE.md - System design and bootstrap process
- NIX_WORKFLOWS.md - NixOS-specific installation and configuration
- AI_TOOLING.md - OpenCode and MCP setup
- CODE_STANDARDS.md - Development standards