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.aiextends text objects withiq(inside quotes),ia(inside argument), etc.mini.movelets you move selections with Alt+hjkl- Each module has
:h mini.MODULEfor detailed documentation - Perfect for users who want curated features without plugin bloat