Neovim & LazyVim Ultimate Plugin Guide (2026) — ranked S/A/B tier list of essential plugins, LSPs, AI tools, Git/DAP integrations, themes, and external tools with official links
🧠 The Ultimate Neovim + LazyVim Plugin Stack (2026)
A ranked, no-fluff list of the plugins and setups actually worth installing on top of LazyVim — Neovim's most popular pre-configured distro, built on lazy.nvim. Get LazyVim running first, then layer these in via lua/plugins/.
mv ~/.config/nvim ~/.config/nvim.bak git clone https://github.com/LazyVim/starter ~/.config/nvim nvim
🥇 Tier 1 — Don't skip these
- nvim-treesitter — real syntax parsing, not regex highlighting. Powers everything else on this list (folding, textobjects, indentation). Foundation-level.
- nvim-lspconfig + mason.nvim — native LSP client config + a package manager for language servers, linters, and formatters. This is what turns Neovim into an IDE.
- telescope.nvim — fuzzy finder for files, live grep, LSP symbols, git commits, buffers. The single most-used plugin day to day.
- nvim-cmp + LuaSnip — completion engine + snippet expansion. LazyVim ships these by default; worth knowing what's under the hood.
- gitsigns.nvim — inline git diff markers, hunk staging, blame — right in the gutter.
🤖 Tier 2 — AI-assisted coding (mature as of 2026)
- avante.nvim — Cursor-style AI sidebar with diff-based edits. The closest Neovim gets to a native Cursor/Copilot Chat experience.
- codecompanion.nvim — multi-backend AI chat and inline editing (supports Claude, GPT, and others) directly in a buffer.
- copilot.lua — GitHub Copilot completions, lighter-weight than the official plugin.
🗂️ Tier 3 — Navigation & file management
- neo-tree.nvim — the file explorer LazyVim ships with; git status, buffers, and filesystem all in one sidebar.
- flash.nvim — jump anywhere on screen in 2-3 keystrokes. Genuinely changes how you move around a file.
- mini.nvim — a modular collection (surround, comment, pairs, statusline, and more) — pick only the modules you need instead of ten separate plugins.
🎨 Tier 4 — UI & aesthetics
- catppuccin/nvim — since you're already running Catppuccin Mocha across your setup, this keeps Neovim visually consistent with the rest of your theming.
- lualine.nvim — fast, themeable statusline.
- bufferline.nvim — VS Code-style tabs for open buffers.
- noice.nvim — replaces the command line and messages UI with a much cleaner popup/notification system.
- which-key.nvim — pop-up keybinding hints; makes a heavily-mapped config actually learnable.
🛠️ Tier 5 — Workflow & polish
- conform.nvim — format-on-save, plugs into Mason-installed formatters (prettier, stylua, black, etc.).
- toggleterm.nvim — floating/split terminal you can summon without leaving Neovim.
- trouble.nvim — a proper diagnostics/quickfix list UI instead of squinting at inline errors.
- nvim-dap — Debug Adapter Protocol support; step-through debugging inside Neovim.
- persistence.nvim — session management, restores your last editing state per project.
- zen-mode.nvim — distraction-free writing/coding view, one keybind away.
📚 Reference & further reading
- LazyVim Docs — official documentation, keymap reference, plugin extras
- kickstart.nvim — the "own it from day one" alternative to a full distro, if you outgrow LazyVim's abstractions later
- Awesome Neovim — the master list every plugin above was picked from
Start with Tier 1, layer in AI tooling once your LSP/completion baseline feels solid, then polish with Tiers 4-5. Don't install everything on day one — LazyVim is lazy-loaded, but your brain isn't.
🧠 The Ultimate Neovim Ecosystem Guide (2026 Edition)
Everything worth knowing about Neovim in one place — plugins, LazyVim extras, LSPs, AI tools, fonts, terminals, external CLI tools, respected configs, and where to keep learning. Ranked S > A > B, with why it matters, its main use case, alternatives, and who it's for.
Legend: 🟢 Beginner · 🟡 Intermediate · 🔴 Power user
📦 Plugin Managers
| Plugin | Tier | Why / Use case | Alternatives | Level |
|---|---|---|---|---|
| lazy.nvim | S | Still the dominant manager — declarative specs, async install, lockfile, event/cmd/ft-based lazy loading, built-in profiler UI. This is what LazyVim itself is built on. | vim.pack (native), mini.deps | 🟢 |
| vim.pack (built into Neovim ≥ 0.12) | A | Zero-dependency, core-shipped plugin manager using Git directly. No event/filetype lazy-loading yet, so a large config still starts slower than under lazy.nvim — worth trying on a fresh, small config. | lazy.nvim, mini.deps | 🔴 |
| mini.deps (part of mini.nvim) | A | Git+built-in-packages based manager from the same author as vim.pack — good if you're already mini.nvim-first. | lazy.nvim, vim.pack | 🔴 |
| rocks.nvim | B | LuaRocks-based dependency management — appeals if you want reproducible, Cargo-style installs. Smaller ecosystem than lazy.nvim. | lazy.nvim | 🔴 |
| packer.nvim | Historical | Officially unmaintained since 2023. Don't start new configs on it. | lazy.nvim | — |
🥇 Must-Have Plugins (install these first)
| Plugin | Tier | Why | Primary use | Alternatives | Level |
|---|---|---|---|---|---|
| nvim-treesitter | S | Real AST-based parsing instead of regex highlighting. Nearly every modern plugin below depends on it (folding, textobjects, context, injections). | Syntax highlighting, folding, textobjects | Vim's legacy regex syntax | 🟢 |
| nvim-lspconfig | S | Official quick-start configs for the built-in LSP client — go-to-definition, references, rename, diagnostics. | LSP client config | nvim-lspconfig + lspsaga.nvim for prettier UI | 🟢 |
| mason.nvim | S | Portable installer for LSP servers, DAP adapters, linters, and formatters — one :Mason UI instead of hand-installing each with npm/pip/go. | Tool installation | Manual installs | 🟢 |
| nvim-cmp | S | Completion engine — pulls from LSP, buffer, path, and snippets. LazyVim ships this by default. | Autocompletion | blink.cmp (faster, newer, gaining ground fast) | 🟢 |
| telescope.nvim | S | Fuzzy finder for files, live grep, LSP symbols, git — the single most-used plugin in a typical session. | Fuzzy finding | fzf-lua, snacks.nvim picker | 🟢 |
| snacks.nvim | S | Folke's 2025-26 "everything" plugin — dashboard, notifier, terminal, picker, lazygit wrapper, zen mode, image preview, big-file handling, indent guides, all in one. LazyVim has migrated most of its core UI onto this. | QoL swiss-army-knife | Individual point-plugins for each feature | 🟡 |
| gitsigns.nvim | S | Inline diff markers, hunk staging/reset, blame — right in the gutter. Nearly every serious config has this. | Git gutter/blame | — | 🟢 |
| which-key.nvim | S | Pop-up keybind hints as you type your leader key — turns a heavily-mapped config into something actually learnable. | Keymap discovery | — | 🟢 |
| conform.nvim | A | Format-on-save wired into Mason-installed formatters (stylua, prettier, black, gofmt, etc). | Formatting | null-ls/none-ls.nvim (heavier, older pattern) | 🟢 |
| nvim-lint | A | Async linting outside of full LSP diagnostics — pairs with conform for a complete lint+format pipeline. | Linting | LSP-embedded linting | 🟡 |
💎 Hidden Gems (less famous, punch way above their weight)
| Plugin | Tier | Why it's slept-on | Primary use | Level |
|---|---|---|---|---|
| oil.nvim | A | Edit your filesystem like a normal buffer — rename/delete/create files by editing text and :w. Genuinely changes how you think about file management vs a tree sidebar. | File manager as buffer | 🟡 |
| flash.nvim | A | Jump to any visible location in 2–3 keystrokes with Treesitter-aware labels. Once muscle memory kicks in, f/t/search motions feel slow by comparison. | Screen jumping | 🟡 |
| grug-far.nvim | A | Project-wide find & replace with a live preview buffer — replaced nvim-spectre in LazyVim's own extras for a reason. | Search & replace | 🟡 |
| yanky.nvim | B | A persistent, cyclable yank ring — stop losing your last three copies to accidental deletes. | Clipboard history | 🟡 |
| harpoon (v2 branch) | A | Pin 3–4 files you're actively juggling and jump between them with a single keystroke — faster than any fuzzy finder for a tight edit loop. | File pinning/navigation | 🟡 |
| nvim-ufo | B | Treesitter/LSP-powered code folding that's actually pleasant to use, with a peek-preview of folded content. | Code folding | 🔴 |
| nvim-spider | B | Makes w/e/b motions stop on subwords (camelCase, snake_case) instead of skipping whole tokens. | Word motions | 🟡 |
| dial.nvim | B | Supercharges / increment/decrement to work on dates, booleans, semver, and custom sequences, not just numbers. | Increment/decrement | 🔴 |
| substitute.nvim | B | Operator-based "replace with what's in a register" — eliminates a ton of manual ciw + paste sequences. | Text substitution | 🔴 |
🤖 Best AI Plugins (2026)
By 2026 the AI layer has settled into three roles — pick one per role, since two tools fighting for the same completion/virtual-text namespace is the #1 cause of "my AI just stopped working."
| Plugin | Tier | Role | Why | Alternatives | Level |
|---|---|---|---|---|---|
| avante.nvim | S | Chat + diff-based edits | ~17k+ stars. Cursor-style sidebar: select code, describe the change, review a diff, accept/reject. Supports a per-project avante.md instruction file. | CodeCompanion | 🟡 |
| codecompanion.nvim | S | Chat + inline agent | Multi-backend (Claude, OpenAI, Ollama), slash-commands (/test, /fix), and stronger LSP-context integration than Avante. Many power users run both, bound to separate keymaps. | Avante | 🟡 |
| copilot.lua | S | Inline ghost-text completion | Pure-Lua replacement for the official copilot.vim — faster, integrates cleanly with nvim-cmp/blink.cmp. Requires a Copilot subscription. | NeoCodeium, Supermaven, Minuet | 🟢 |
| CopilotChat.nvim | A | Chat | Conversational Copilot access if you already pay for Copilot and don't want a second subscription for chat. | codecompanion | 🟡 |
| NeoCodeium | A | Free inline completion | Windsurf-powered, Copilot-style completions with no subscription; a strong free-tier default. | copilot.lua, Supermaven | 🟢 |
| minuet-ai.nvim | A | Local/offline completion | Routes completions through Ollama, llama.cpp, or your own API key — full control and privacy, zero code leaving your machine if you go local-only. | gen.nvim | 🔴 |
| sidekick.nvim | B | CLI-agent bridge | Folke's newer plugin for piping a terminal coding agent (e.g. a Claude Code session) into your Neovim workflow. | Manual toggleterm + CLI | 🔴 |
Rule of thumb: one completion plugin (Layer 1), one diff/refactor plugin (Layer 2), one chat/agent plugin (Layer 3) — not three of each.
🌿 Best Git Plugins
| Plugin | Tier | Why | Primary use | Alternatives | Level |
|---|---|---|---|---|---|
| gitsigns.nvim | S | Inline hunk signs, staging, blame, hunk textobjects — the baseline everyone runs. | Gutter/blame | — | 🟢 |
| lazygit.nvim | S | Floats the excellent external lazygit TUI inside Neovim — staging, branching, rebasing, all visual. (Snacks.nvim also wraps lazygit now if you'd rather not add a separate plugin.) | Full git TUI | Snacks.lazygit, neogit | 🟢 |
| neogit | A | A native-Lua, Magit-inspired git porcelain — commit, stage, rebase, all as Neovim buffers rather than shelling to a TUI. | Git porcelain | lazygit.nvim | 🟡 |
| diffview.nvim | A | Single-tabpage interface for cycling through every modified file's diff, file history views, and merge-conflict resolution. | Diff review | Neogit's built-in diff | 🟡 |
| octo.nvim | B | Manage GitHub issues and PRs — review, comment, merge — without leaving Neovim. | GitHub PR/issue workflow | Browser | 🔴 |
| git-conflict.nvim | B | Visualizes and gives keymaps to resolve merge conflicts inline. | Merge conflicts | Neogit/diffview conflict views | 🟡 |
🐞 Best Debugging & Testing Plugins
| Plugin | Tier | Why | Primary use | Alternatives | Level |
|---|---|---|---|---|---|
| nvim-dap | S | The Debug Adapter Protocol client for Neovim — breakpoints, step-through, variable inspection, watches. | Core debugging | — | 🟡 |
| nvim-dap-ui | S | Gives nvim-dap a proper VS Code-style UI: scopes, breakpoints panel, watches, REPL, console. | DAP UI | — | 🟡 |
| mason-nvim-dap.nvim | A | Bridges Mason's installed debug adapters into nvim-dap configs automatically. | DAP adapter install | Manual adapter setup | 🟡 |
| nvim-dap-virtual-text | A | Shows variable values as virtual text right next to the code while debugging. | Inline debug values | dap-ui's variables pane | 🟡 |
| nvim-dap-python / nvim-dap-go | A | Language-specific adapter glue for Python (debugpy) and Go (delve). | Language debug config | Manual DAP config | 🟡 |
| neotest | S | Unified test runner UI — run/debug individual tests or whole files, see results inline, works across language-specific adapters (neotest-python, neotest-go, neotest-jest, etc). | Test running | vim-test (older, still solid) | 🟡 |
| vim-test | B | Simpler, adapter-based test runner — lower setup cost than neotest if you don't need the full summary UI. | Test running | neotest | 🟢 |
🧭 Best Motion / Navigation Plugins
| Plugin | Tier | Why | Alternatives | Level |
|---|---|---|---|---|
| flash.nvim | S | Treesitter-aware jump-to-label motion; also enhances native f/t// with visible labels. Current community favorite. | leap.nvim, hop.nvim | 🟡 |
| leap.nvim | A | The plugin flash.nvim drew inspiration from — two-character search-based jumps, very precise, slightly different philosophy (fewer built-in integrations, more minimal). | flash.nvim | 🔴 |
| hop.nvim | B | The original EasyMotion-style jump plugin for Neovim; the smoka7 fork is the actively maintained one (the original phaazon/hop.nvim has gone quiet). | flash.nvim, leap.nvim | 🟡 |
| nvim-spider | B | Subword-aware w/e/b. | vim-textobj-variable_segment | 🟡 |
| harpoon | A | Pin-and-jump between a handful of active files — see Hidden Gems above. | bookmarks.nvim | 🟡 |
✏️ Best Editing Enhancement Plugins
| Plugin | Tier | Why | Alternatives | Level |
|---|---|---|---|---|
| nvim-surround | S | Add/change/delete surrounding pairs (quotes, brackets, tags) with a couple of keystrokes — a true daily-driver. | mini.surround | 🟢 |
| Comment.nvim | S | Smart, Treesitter-aware line/block commenting (gcc, gbc) that handles embedded languages (JSX-in-JS, etc.) correctly. | mini.comment | 🟢 |
| nvim-autopairs | A | Auto-closes brackets/quotes with Treesitter-aware smarts (won't double-close inside strings, etc). | mini.pairs | 🟢 |
| todo-comments.nvim | A | Highlights and lets you :TodoTelescope through TODO/FIXME/HACK/NOTE comments across the whole project. | grep-based workflows | 🟢 |
| nvim-ts-autotag | B | Auto-closes/renames matching HTML/JSX tags. | Manual tag editing | 🟡 |
| vim-illuminate | B | Highlights other references to the word under your cursor via LSP/Treesitter. | LSP document-highlight (built-in, less polished) | 🟡 |
| mini.nvim | A | Modular collection (mini.surround, mini.comment, mini.pairs, mini.ai, mini.statusline, and 30+ more) — pick modules instead of installing 10 separate single-purpose plugins. | Assorted single-purpose plugins | 🟡 |
📝 Best Markdown & Note-Taking Plugins
| Plugin | Tier | Why | Primary use | Alternatives | Level |
|---|---|---|---|---|---|
| render-markdown.nvim | S | In-buffer markdown rendering via extmarks — headings, tables, callouts, LaTeX, all rendered live with no split window. This is what replaced headlines.nvim in LazyVim's markdown extra. | Live markdown styling | headlines.nvim (older, less maintained) | 🟢 |
| obsidian.nvim | S | Edit an Obsidian vault from Neovim — wiki-links, daily notes, backlinks, templates. This community fork is the actively-maintained successor to the original epwalsh/obsidian.nvim. | Obsidian app itself | 🟡 | |
| markdown-preview.nvim | A | Live browser preview of the current markdown buffer, GitHub-flavored styling. | render-markdown (in-buffer, no browser) | 🟢 | |
| markdownlint-cli2 (external, via Mason) | A | Catches broken heading hierarchy, line-length issues, and other markdown lint problems inline. | — | 🟡 | |
| marksman (LSP, via Mason) | A | A real markdown LSP — completion, go-to-definition, find references for wiki-links and headings. | obsidian.nvim's own linking | 🟡 |
⌨️ Best Snippets
| Plugin | Tier | Why | Alternatives | Level |
|---|---|---|---|---|
| LuaSnip | S | The dominant snippet engine — Lua-native, supports VS Code-style snippet JSON plus its own more powerful DSL for dynamic snippets. | vsnip, UltiSnips | 🟡 |
| friendly-snippets | S | A huge, community-curated snippet collection covering most languages — drop it in as a LuaSnip source and you're covered day one. | Hand-writing your own | 🟢 |
🖥️ Best Terminal Integrations
| Plugin | Tier | Why | Alternatives | Level |
|---|---|---|---|---|
| toggleterm.nvim | S | Floating/split terminal(s) you summon with one keybind, multiple named terminals, send-to-terminal commands. | Snacks.terminal | 🟢 |
| Snacks.terminal (module of snacks.nvim) | A | Similar to toggleterm but ships as part of the snacks.nvim bundle you likely already have — one fewer plugin if you're already on Snacks. | toggleterm.nvim | 🟢 |
| vim-floaterm | B | A lighter-weight floating-terminal-only alternative if you don't need toggleterm's full feature set. | toggleterm.nvim | 🟢 |
🎨 Best UI / Appearance Plugins
| Plugin | Tier | Why | Alternatives | Level |
|---|---|---|---|---|
| snacks.nvim | S | Dashboard, notifications, indent guides, scroll animation, statuscolumn, zen mode, image preview — see Must-Haves above. | Individual point-plugins | 🟡 |
| lualine.nvim | S | Fast, themeable statusline with first-class support for nearly every colorscheme and plugin (git, LSP, DAP status, etc). | mini.statusline | 🟢 |
| bufferline.nvim | A | VS Code-style tabs for open buffers, with git status and diagnostics per tab. | barbar.nvim | 🟢 |
| noice.nvim | A | Replaces the command line, search, and messages UI with cleaner popups/notification history. | Default cmdline UI | 🟡 |
| dashboard-nvim | B | Startup dashboard with recent files, sessions, and quick actions — LazyVim now offers this as an alternative to Snacks' own dashboard. | alpha-nvim, Snacks dashboard | 🟢 |
| indent-blankline.nvim | A | Indentation guide lines, with active-scope highlighting. | Snacks' indent module | 🟢 |
| nvim-web-devicons | S | Provides the file-type icons that nearly every UI plugin above (file trees, tab lines, statuslines, pickers) depends on — requires a Nerd Font. | — | 🟢 |
⚡ Startup & Performance Optimization
| Technique / Plugin | Tier | Why | Level |
|---|---|---|---|
Lazy-loading via lazy.nvim (event, ft, cmd, keys) | S | The single biggest lever — most plugins should load on the event that needs them, not at startup. A well-tuned 30+ plugin config can still start in ~50-60ms. | 🟡 |
:Lazy profile | S | Built into lazy.nvim — shows exactly which plugin cost you how many milliseconds at startup. Run this before optimizing blind. | 🟡 |
bigfile module in snacks.nvim | A | Automatically disables expensive features (Treesitter, LSP, etc.) when opening very large files so Neovim doesn't choke. | 🟡 |
vim.loader.enable() (built into Neovim) | A | Enables the byte-compilation cache for Lua modules — noticeable win on configs with lots of require() calls. | 🔴 |
| Impatient.nvim | Historical | Predecessor to vim.loader — no longer needed on modern Neovim, its functionality was upstreamed. | — |
🈳 Best Language-Specific Setups
| Language | Stack | Notes |
|---|---|---|
| Rust | rustaceanvim + rust-analyzer (via Mason) | Successor to the archived rust-tools.nvim — inlay hints, runnables, DAP config for codelldb, all wired up. |
| Go | nvim-dap-go + gopls (via Mason) + neotest-golang | LazyVim's lang.go extra bundles all three. |
| Python | pyright/ruff (via Mason) + nvim-dap-python + venv-selector.nvim | venv-selector.nvim solves the perennial "wrong virtualenv" LSP headache. |
| C/C++ | clangd (via Mason) + clangd_extensions.nvim | Adds inlay hints, symbol info, and AST view on top of plain nvim-lspconfig clangd setup. |
| Lua | lua_ls (via Mason) + lazydev.nvim | lazydev.nvim gives full completion/type-checking for the Neovim Lua API itself — essential if you write your own config or plugins. |
| Web (JS/TS) | vtsls or ts_ls (via Mason) + typescript-tools.nvim + Tailwind LSP | LazyVim's lang.typescript + lang.tailwind extras cover this combo out of the box. |
| Java | nvim-jdtls | The standard for Eclipse JDT-based Java support; notoriously more manual to set up than other languages. |
🧩 LazyVim Extras Worth Enabling
Toggle these with :LazyExtras — full list at lazyvim.org/extras.
| Extra | Tier | Why |
|---|---|---|
ai.copilot or ai.copilot-chat | S | One-command Copilot wiring if you already pay for it. |
coding.yanky | A | Enables the yank-ring behavior described above without manual config. |
editor.dial | B | Wires up dial.nvim's smarter increment/decrement. |
formatting.prettier / formatting.black | A | Pre-wired formatter configs for the two most common stacks. |
lang. (typescript, go, rust, python, json, yaml, docker, terraform, sql, etc.) | S | The bulk of LazyVim's value — a full LSP+formatter+linter+DAP bundle per language, one command each. |
test.core | A | Wires up neotest with sensible defaults and Trouble.nvim integration. |
dap.core | A | Wires up the full nvim-dap + nvim-dap-ui + mason-nvim-dap stack. |
util.dot / util.mini-hipatterns | B | Small QoL extras — check the docs page, the list grows every release. |
🖋️ Fonts, Icons, Terminal Emulators, Colorschemes
Fonts (Nerd Font required for icons to render):
- Nerd Fonts — the patched-font project itself; grab any monospace family from here (JetBrainsMono, FiraCode, CaskaydiaCove, and Hack are the most common picks).
Icons:
- nvim-web-devicons — see UI section above; nearly mandatory.
Terminal emulators that play well with Neovim's image/rendering features:
- Kitty — GPU-accelerated, first-class support for Snacks' image preview and true color.
- WezTerm — cross-platform, Lua-configurable, similarly strong image/graphics protocol support.
- Ghostty — newer, fast, minimal-config GPU terminal; growing fast in the Neovim community.
- Alacritty — the old reliable, extremely fast, config via TOML — lacks some of the newer image-protocol features the three above have.
Colorschemes (all Treesitter/LSP-aware):
- catppuccin/nvim — Latte/Frappé/Macchiato/Mocha, currently one of the fastest-growing themes across the whole terminal ecosystem, not just Neovim.
- folke/tokyonight.nvim — Night/Storm/Moon/Day variants, also ships matching Kitty/Alacritty/WezTerm/Fish themes.
- rebelot/kanagawa.nvim — muted, painting-inspired palette.
- rose-pine/neovim — soft, low-contrast, popular for long sessions.
- EdenEast/nightfox.nvim — highly customizable multi-flavor family (Nightfox/Dayfox/Duskfox/Carbonfox).
- ellisonleao/gruvbox.nvim — the modern Lua port of the still-beloved retro-warm classic.
🛠️ Essential External Tools (not Neovim plugins, but required by many of the above)
| Tool | Used by | Link |
|---|---|---|
ripgrep (rg) | Telescope/Snacks live grep, grug-far | github.com/BurntSushi/ripgrep |
| fd | Telescope/fzf-lua file finding | github.com/sharkdp/fd |
| fzf | fzf-lua, general fuzzy pipelines | github.com/junegunn/fzf |
| lazygit | lazygit.nvim, Snacks' lazygit wrapper | github.com/jesseduffield/lazygit |
| stylua | Lua formatting via conform.nvim | github.com/JohnnyMorganz/StyLua |
| prettier | JS/TS/CSS/Markdown formatting via conform.nvim | prettier.io |
| clangd | C/C++ LSP | clangd.llvm.org |
| ripgrep + fd together | Required for Telescope's find_files/live_grep to be fast at all | — |
| delve | Go debugging backend for nvim-dap-go | github.com/go-delve/delve |
| debugpy | Python debugging backend for nvim-dap-python | github.com/microsoft/debugpy |
👤 Example Configuration Repos (respected users, worth reading — not copying blind)
| Config | Why it's worth reading |
|---|---|
| LazyVim/starter | The official minimal entry point — start here before anything else. |
| folke/dot / folke's dotfiles | From the author of lazy.nvim, LazyVim, tokyonight, and snacks.nvim — about as canonical as it gets. |
| nvim-lua/kickstart.nvim | The "own it from day one" single-file alternative to a full distro — read this once you understand what LazyVim is doing under the hood. |
| av1155/nvim | A well-documented LazyVim-based personal config showing real extras usage, custom keymaps, and AI plugin wiring. |
| ThePrimeagen/init.lua | From-scratch, no-distro config by one of the most visible Neovim educators — good for understanding raw building blocks. |
| rockerBOO/awesome-neovim | Not a config, but the master categorized list every plugin in this guide was cross-checked against. |
📚 Official Documentation & Learning Resources
- neovim.io — official site, install links, release notes.
- Neovim GitHub — source, issues, and the canonical
:hhelp docs online. - LazyVim Documentation — keymap reference, extras list, configuration guide.
- LazyVim News — changelog-style breakdown of every major LazyVim release (this is where the Snacks migration, markdown.nvim swap, etc. get announced first).
🌐 Community Resources
- Awesome Neovim — the definitive categorized plugin list; check here before installing anything not in this guide.
- Dotfyle — tracks 1000+ real Neovim configs, surfaces trending/top plugins by actual usage, and hosts the This Week in Neovim newsletter.
- r/neovim — the main subreddit; good for config reviews and plugin announcements.
- ThePrimeagen (YouTube) — high-visibility Neovim/Vim-motions educator, frequent config and workflow videos.
- This Week in Neovim (via Dotfyle) — weekly roundup of new plugins, colorschemes, and core Neovim changes.
Start with the Must-Haves + one AI tool from your chosen layer, add language extras for what you actually write, and only reach for Hidden Gems once the basics are muscle memory. Ranking here reflects late-2026 community consensus and will keep shifting — Snacks.nvim absorbing more of the ecosystem and vim.pack maturing are the two trends most likely to reshuffle this list next.