SkillAgentSearch skills...

Mini.nvim

Library of 40+ independent Lua modules improving Neovim experience with minimal effort

Install / Use

/learn @nvim-mini/Mini.nvim
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align="center"> <img src="logo.png" alt="mini.nvim" style="max-width:100%;border:solid 2px"/> </p>

All-in-one plugin

Library of 40+ independent Lua modules improving overall Neovim (version 0.9 and higher) experience with minimal effort. They all share same configuration approaches and general design principles.

Think about this project as "Swiss Army knife" among Neovim plugins: it has many different independent tools (modules) suitable for most common tasks. Each module can be used separately without any startup and usage overhead.

If you want to help this project grow but don't know where to start:

See change log for a history of changes, including current development version.

See MiniMax for a full config example based on 'mini.nvim'.

[!NOTE] This was previously hosted at echasnovski/mini.nvim. It was transferred to a dedicated organization to improve long term project stability. See more details here.

Table of contents

Installation

There are two branches to install from:

  • main (default, recommended) will have latest development version of plugin. All changes since last stable release should be perceived as being in beta testing phase (meaning they already passed alpha-testing and are moderately settled).
  • stable will be updated only upon releases with code tested during public beta-testing phase in main branch.

Here are code snippets for some common installation methods:

  • Manually with git clone (compatible with mini.deps):
-- Put this at the top of 'init.lua'
local path_package = vim.fn.stdpath('data') .. '/site'
local mini_path = path_package .. '/pack/deps/start/mini.nvim'
if not vim.loop.fs_stat(mini_path) then
  vim.cmd('echo "Installing `mini.nvim`" | redraw')
  local clone_cmd = {
    'git', 'clone', '--filter=blob:none',
    -- Uncomment next line to use 'stable' branch
    -- '--branch', 'stable',
    'https://github.com/nvim-mini/mini.nvim', mini_path
  }
  vim.fn.system(clone_cmd)
  vim.cmd('packadd mini.nvim | helptags ALL')
  vim.cmd('echo "Installed `mini.nvim`" | redraw')
end

| Branch | Code snippet | |--------|-----------------------------------------------| | Main | { 'nvim-mini/mini.nvim', version = false }, | | Stable | { 'nvim-mini/mini.nvim', version = '*' }, |

| Branch | Code snippet | |--------|------------------------------------------------------| | Main | Plug 'nvim-mini/mini.nvim' | | Stable | Plug 'nvim-mini/mini.nvim', { 'branch': 'stable' } |

  • Every module is also distributed as a standalone Git repository. Check out module's information for more details.

Important: don't forget to call module's setup() (if required) to enable its functionality.

Note: if you are on Windows, there might be problems with too long file paths (like error: unable to create file <some file name>: Filename too long). Try doing one of the following:

  • Enable corresponding git global config value: git config --system core.longpaths true. Then try to reinstall.
  • Install plugin in other place with shorter path.

Modules

'mini.nvim' contains many modules which is slightly daunting at first. All of them can be used independently, one at a time.

For easier exploration, here they are presented in groups based on module's primary functionality (although some modules can fit in several groups). See more detailed listing here.

Text editing

These modules improve your text editing experience. Start with 'mini.ai', 'mini.operators', and 'mini.surround'.

| Module | Description | Overview | Details | |-----------------|---------------------------------------|--------------------------------------|------------------------------------------| | mini.ai | Extend and create a/i textobjects | README | Documentation | | mini.align | Align text interactively | README | Documentation | | mini.comment | Comment lines | README | Documentation | | mini.completion | Completion and signature help | README | Documentation | | mini.keymap | Special key mappings | README | Documentation | | mini.move | Move any selection in any direction | README | Documentation | | mini.operators | Text edit operators | README | Documentation | | mini.pairs | Autopairs | README | Documentation | | mini.snippets | Manage and expand snippets | README | Documentation | | mini.splitjoin | Split and join arguments | README | Documentation | | mini.surround | Surround actions | README | Documentation |

General workflow

These modules improve your general workflow. Start with 'mini.bracketed', 'mini.files', and 'mini.pick'.

| Module | Description | Overview | Details | |----------------|------------------------------------------|-------------------------------------|-----------------------------------------| | mini.basics | Common configuration presets | README | Documentation | | mini.bracketed | Go forward/backward with square brackets | README | Documentation | | mini.bufremove | Remove buffers | README | Documentation | | mini.clue | Show next key clues | README | Documentation | | mini.cmdline | Command line tweaks | README | Documentation | | mini.deps | Plugin manager | README | Documentation | | mini.diff | Work with diff hunks | README | Documentation | | mini.extra | Extra 'mini.nvim' functionality | README | Documentation | | mini.files | Navigate and manipulate file system | README | Documentation | | mini.git | Git integration | README | Documentation | | mini.jump | Jump to next/previous single character | README | Documentation | | mini.jump2d | Jump within visible lines | README | Documentation | | mini.misc | Miscellaneous functions | README | Documentation | | mini.pick | Pick anything | README | Documentation | | mini.sessions | Session management | README | Documentation | | mini.visits | Track and reuse file system visits | README | Documentation |

Appearance

These modules improve your Neovim appearance. Start with 'mini.hues', 'mini.icons', and 'mini.statusline'.

| Module | Description | Overview | Details | |------------------|--------------------------------------|---------------------------------------|-------------------------------------------| | mini.animate | Animate common Neovim actions | README | Documentation | | mini.base16 | Base16 colorscheme creation | README | Documentation | | mini.colors | Tweak and save any color scheme | README | Documentation | | mini.cursorword | Autohighlight word under cursor | README | Documentation | | mini.hipatterns | Highlight patterns in text | README | Documentation | | mini.hues | Generate configur

View on GitHub
GitHub Stars8.9k
CategoryDevelopment
Updated12h ago
Forks293

Languages

Lua

Security Score

100/100

Audited on Mar 30, 2026

No findings