Skip to main content

Pre-Configured Plugins

LazyVim comes with a curated set of plugins organized into categories. Below is each plugin, its purpose, and key configuration defaults.

Coding Plugins​

mini.pairs​

Auto-closes brackets, quotes, and parentheses as you type.

opts = {
modes = { insert = true, command = true, terminal = false },
skip_ts = { "string" }, -- Don't autopair inside strings
skip_unbalanced = true, -- Skip if more closing than opening
markdown = true, -- Better markdown code blocks
}

ts-comments.nvim​

Improves comment syntax — handles multiple comment types per language and relaxes uncomment rules.

opts = {}

mini.ai​

Extends a and i text objects with intelligent selection:

KeyText Object
ao / ioCode block (if/for/while)
af / ifFunction
ac / icClass
at / itHTML/XML tag
ad / idDigits
ae / ieWord with case
ag / igBuffer
au / iuFunction call

lazydev.nvim​

Configures LuaLS to provide auto-completion and type checking for Neovim config files (LazyVim, Snacks, lazy.nvim, etc.).

opts = {
library = {
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
{ path = "LazyVim", words = { "LazyVim" } },
{ path = "snacks.nvim", words = { "Snacks" } },
{ path = "lazy.nvim", words = { "LazyVim" } },
{ path = "nvim-lspconfig", words = { "lspconfig.settings" } },
},
}

Editor Plugins​

grug-far.nvim​

Search and replace across multiple files with a dedicated UI.

KeymapAction
<leader>srSearch and Replace (n/x)

flash.nvim​

Enhanced search — labels appear at matches so you can jump precisely.

KeymapAction
sFlash jump (n/x/o)
SFlash Treesitter (n/o/x)
rRemote Flash (o)
RTreesitter Search (o/x)
<c-s>Toggle Flash search (c)
<c-space>Treesitter incremental selection (n/o/x)

which-key.nvim​

Shows a popup of available keybindings when you press &lt;space&gt; or any prefix key.

Groups defined for &lt;leader&gt;:

  • &lt;leader&gt;&lt;tab&gt; — tabs
  • &lt;leader&gt;b — buffer (dynamic: shows open buffers)
  • &lt;leader&gt;c — code
  • &lt;leader&gt;d — debug
  • &lt;leader&gt;dp — profiler
  • &lt;leader&gt;f — file/find
  • &lt;leader&gt;g — git
  • &lt;leader&gt;gh — hunks
  • &lt;leader&gt;q — quit/session
  • &lt;leader&gt;s — search
  • &lt;leader&gt;u — ui
  • &lt;leader&gt;w — windows (dynamic)
  • &lt;leader&gt;x — diagnostics/quickfix
  • [ — prev
  • ] — next
  • g — goto
  • gs — surround
  • z — fold
KeymapAction
<leader>?Buffer keymaps (which-key)
<c-w><space>Window hydra mode

gitsigns.nvim​

Shows git change indicators in the sign column and provides hunk operations.

SignMeaning
▎ (green)Added line
▎ (blue)Changed line
 (red)Deleted line
▎ (gray)Untracked

See LazyVim Cheatsheet for all gitsigns keymaps.

trouble.nvim​

Enhanced diagnostics/quickfix/loclist viewer in a side panel.

KeymapAction
<leader>xxDiagnostics (Trouble)
<leader>xXBuffer Diagnostics
<leader>csSymbols (Trouble)
<leader>cSLSP references/definitions
<leader>xLLocation List
<leader>xQQuickfix List
[q / ]qPrevious / Next item

todo-comments.nvim​

Highlights and lists TODO, FIX, HACK, BUG, NOTE comments.

KeymapAction
<leader>stTodo (Telescope)
<leader>sTTodo/Fix/Fixme (Telescope)
<leader>xtTodo (Trouble)
<leader>xTTodo/Fix/Fixme (Trouble)
]tNext Todo Comment
[tPrevious Todo Comment

UI Plugins​

bufferline.nvim​

Tab bar showing open buffers with filetype icons, diagnostics, and close buttons.

KeymapAction
<S-h>Previous buffer
<S-l>Next buffer
[b / ]bPrevious/Next buffer
[B / ]BMove buffer prev/next
<leader>bpToggle pin
<leader>bPDelete non-pinned
<leader>blDelete buffers to the left
<leader>brDelete buffers to the right
<leader>bjPick buffer

lualine.nvim​

Customizable statusline with sections for mode, branch, diagnostics, file path, diff, and more.

Sections:

  • lualine_a — Mode
  • lualine_b — Git branch
  • lualine_c — Root dir, diagnostics, filetype icon, pretty path
  • lualine_x — Profiler, Noice status, DAP status, Lazy updates, diff
  • lualine_y — Progress, location
  • lualine_z — Clock

noice.nvim​

Replaces the default UI for messages, cmdline, and popupmenu with a modern, more informative interface.

KeymapAction
<S-Enter>Redirect cmdline
<leader>snlNoice Last Message
<leader>snhNoice History
<leader>snaNoice All
<leader>sndDismiss All
<leader>sntNoice Picker
<c-f> / <c-b>Scroll forward/backward

mini.icons​

Provides filetype and file icons. Mocks nvim-web-devicons API for compatibility.

snacks.nvim (UI parts)​

Provides indent guides, notifications, smooth scrolling, dashboard, input UI, and word highlighting.

KeymapAction
<leader>nNotification History
<leader>unDismiss All Notifications

Dashboard (snacks.nvim): Shows on startup with quick actions:

KeyAction
fFind Files
nNew File
gFind Text
rRecent Files
cConfig
sRestore Session
xLazy Extras
lLazy
qQuit

LSP Plugins​

nvim-lspconfig​

Configures LSP clients. Keymaps are set per server or globally via servers['*'].

Global LSP keymaps:

KeymapAction
gdGo to Definition
grReferences
gIGo to Implementation
gyGo to Type Definition
gDGo to Declaration
KHover documentation
gK / <c-k>Signature Help
<leader>caCode Action
<leader>ccRun Codelens
<leader>crRename
<leader>clLSP Info
<leader>coOrganize Imports
<leader>cASource Action
]] / [[Next/Prev Reference
<a-n> / <a-p>Next/Prev Reference

mason.nvim​

Installs LSP servers, linters, formatters, and DAP adapters. Opens :Mason UI.

opts = {
ensure_installed = { "stylua", "shfmt" },
}

mason-lspconfig.nvim​

Bridge between Mason and lspconfig. Auto-installs and configures LSP servers.

Treesitter Plugins​

nvim-treesitter​

Better syntax highlighting, indentation, and folding using Treesitter parsers.

Installed parsers by default: bash, c, diff, html, javascript, jsdoc, json, lua, luadoc, markdown, python, query, regex, toml, tsx, typescript, vim, vimdoc, xml, yaml

nvim-treesitter-textobjects​

Navigates by functions, classes, and parameters using Treesitter.

KeymapAction
]fNext function start
[fPrevious function start
]FNext function end
[FPrevious function end
]cNext class start
[cPrevious class start
]CNext class end
[CPrevious class end
]aNext parameter
[aPrevious parameter

nvim-ts-autotag​

Auto-closes HTML/JSX/XML tags.

Formatting Plugin​

conform.nvim​

Format-on-save with configurable formatters per filetype.

opts = {
default_format_opts = { timeout_ms = 3000, lsp_format = "fallback" },
formatters_by_ft = {
lua = { "stylua" },
fish = { "fish_indent" },
sh = { "shfmt" },
},
}
KeymapAction
<leader>cfFormat buffer
<leader>cFFormat injected languages

Linting Plugin​

nvim-lint​

Async linter that reports results via vim.diagnostic.

opts = {
events = { "BufWritePost", "BufReadPost", "InsertLeave" },
linters_by_ft = {
fish = { "fish" },
},
}

Util Plugins​

snacks.nvim (Util parts)​

ComponentPurpose
bigfileOptimizes editing for large files
quickfileTracks recently opened files
terminalFloating/bottom terminal with window navigation
KeymapAction
<leader>.Toggle Scratch Buffer
<leader>SSelect Scratch Buffer
<leader>dpsProfiler Scratch Buffer
<leader>fTTerminal (cwd)
<leader>ftTerminal (Root Dir)
<c-/>Toggle Terminal (Root Dir)

persistence.nvim​

Automatic session management — saves/restores buffers, windows, and tabs.

KeymapAction
<leader>qsRestore Session
<leader>qSSelect Session
<leader>qlRestore Last Session
<leader>qdDon't Save Current Session

plenary.nvim​

Utility library used by Telescope and other plugins. Not directly interacted with.