vimtricks.wiki Concise Vim tricks, one at a time.

How do I use mini.nvim's modular plugins for surround, comment, and more?

Answer

:lua require('mini.surround').setup()

Explanation

mini.nvim is a collection of 30+ independent Lua modules, each providing a focused feature. You can pick exactly the modules you need — surround, comment, pairs, statusline, etc. — without installing separate plugins for each, reducing complexity.

How it works

  • Each module is independent: require('mini.MODULE').setup({})
  • No module loads unless you explicitly set it up
  • Modules provide sensible defaults but are fully configurable
  • All modules are maintained in a single repo with consistent quality

Example

" In init.lua — pick the modules you want
require('mini.surround').setup()    -- sa/sd/sr for surround
require('mini.comment').setup()     -- gc for comment toggle
require('mini.pairs').setup()       -- auto-close brackets
require('mini.statusline').setup()  -- minimal statusline
require('mini.indentscope').setup() -- animated indent guides
Available modules include:
mini.ai          — extended text objects (arguments, quotes, etc.)
mini.surround    — add/delete/replace surroundings
mini.comment     — toggle comments
mini.completion  — auto-completion
mini.files       — file explorer
mini.pick        — fuzzy finder

Tips

  • mini.ai extends text objects with iq (inside quotes), ia (inside argument), etc.
  • mini.move lets you move selections with Alt+hjkl
  • Each module has :h mini.MODULE for detailed documentation
  • Perfect for users who want curated features without plugin bloat

Next

How do I return to normal mode from absolutely any mode in Vim?