Home

Awesome

<img src="logo.png" width="800em"/> <br>

<!-- badges: start -->

GitHub license GitHub tag Current version

<!-- badges: end -->

Library of 40+ independent Lua modules improving overall Neovim (version 0.8 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, check out contributing guides or leave a Github star for 'mini.nvim' project and/or any its standalone Git repositories.

Table of contents

Installation

There are two branches to install from:

Here are code snippets for some common installation methods:

-- 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/echasnovski/mini.nvim', mini_path
  }
  vim.fn.system(clone_cmd)
  vim.cmd('packadd mini.nvim | helptags ALL')
end
BranchCode snippet
Main{ 'echasnovski/mini.nvim', version = false },
Stable{ 'echasnovski/mini.nvim', version = '*' },
BranchCode snippet
MainPlug 'echasnovski/mini.nvim'
StablePlug 'echasnovski/mini.nvim', { 'branch': 'stable' }

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:

Modules

If you are browsing without particular objective and don't know which module to look at:

ModuleDescriptionOverviewDetails
mini.aiExtend and create a/i textobjectsREADMEHelp file
mini.alignAlign text interactivelyREADMEHelp file
mini.animateAnimate common Neovim actionsREADMEHelp file
mini.base16Base16 colorscheme creationREADMEHelp file
mini.basicsCommon configuration presetsREADMEHelp file
mini.bracketedGo forward/backward with square bracketsREADMEHelp file
mini.bufremoveRemove buffersREADMEHelp file
mini.clueShow next key cluesREADMEHelp file
mini.colorsTweak and save any color schemeREADMEHelp file
mini.commentComment linesREADMEHelp file
mini.completionCompletion and signature helpREADMEHelp file
mini.cursorwordAutohighlight word under cursorREADMEHelp file
mini.depsPlugin managerREADMEHelp file
mini.diffWork with diff hunksREADMEHelp file
mini.docGenerate Neovim help filesREADMEHelp file
mini.extraExtra 'mini.nvim' functionalityREADMEHelp file
mini.filesNavigate and manipulate file systemREADMEHelp file
mini.fuzzyFuzzy matchingREADMEHelp file
mini.gitGit integrationREADMEHelp file
mini.hipatternsHighlight patterns in textREADMEHelp file
mini.huesGenerate configurable color schemeREADMEHelp file
mini.iconsIcon providerREADMEHelp file
mini.indentscopeVisualize and work with indent scopeREADMEHelp file
mini.jumpJump to next/previous single characterREADMEHelp file
mini.jump2dJump within visible linesREADMEHelp file
mini.mapWindow with buffer text overviewREADMEHelp file
mini.miscMiscellaneous functionsREADMEHelp file
mini.moveMove any selection in any directionREADMEHelp file
mini.notifyShow notificationsREADMEHelp file
mini.operatorsText edit operatorsREADMEHelp file
mini.pairsAutopairsREADMEHelp file
mini.pickPick anythingREADMEHelp file
mini.sessionsSession managementREADMEHelp file
mini.splitjoinSplit and join argumentsREADMEHelp file
mini.starterStart screenREADMEHelp file
mini.statuslineStatuslineREADMEHelp file
mini.surroundSurround actionsREADMEHelp file
mini.tablineTablineREADMEHelp file
mini.testTest Neovim pluginsREADMEHelp file
mini.trailspaceTrailspace (highlight and remove)READMEHelp file
mini.visitsTrack and reuse file system visitsREADMEHelp file

General principles

Plugin colorschemes

This plugin comes with several color schemes (all have both dark and light variants):

Activate them as regular colorscheme (for example, :colorscheme randomhue or :colorscheme minicyan). You can see how they look in demo of 'mini.hues' or demo of 'mini.base16'.

Planned modules

This is the list of modules I currently intend to implement eventually (as my free time and dedication will allow), in alphabetical order: