8000 GitHub - mtmatye/mini.nvim at sync · GitHub
[go: up one dir, main page]

Skip to content

About

Library of 20+ independent Lua modules improving overall Neovim (version 0.7 and higher) experience with minimal effort

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation


GitHub license GitHub tag Current version

Library of 20+ independent Lua modules improving overall Neovim (version 0.7 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 contributi 8000 ng 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:

  • 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:

Branch Code snippet
Main { 'echasnovski/mini.nvim', version = false },
Stable { 'echasnovski/mini.nvim', version = '*' },
Branch Code snippet
Main use 'echasnovski/mini.nvim'
Stable use { 'echasnovski/mini.nvim', branch = 'stable' }
Branch Code snippet
Main Plug 'echasnovski/mini.nvim'
Stable Plug 'echasnovski/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

Module Description Overview Details
mini.ai Extend and create a/i textobjects README Help file
mini.align Align text interactively README Help file
mini.animate Animate common Neovim actions README Help file
mini.base16 Base16 colorscheme creation README Help file
mini.basics Common configuration presets README Help file
mini.bufremove Remove buffers README Help file
mini.comment Comment README Help file
mini.completion Completion and signature help README Help file
mini.cursorword Autohighlight word under cursor README Help file
mini.doc Generate Neovim help files README Help file
mini.fuzzy Fuzzy matching README Help file
mini.indentscope Visualize and operate on indent scope README Help file
mini.jump Jump forward/backward to a single character README Help file
mini.jump2d Jump within visible lines README Help file
mini.map Window with buffer text overview README Help file
mini.misc Miscellaneous functions README Help file
mini.move Move any selection in any direction README Help file
mini.pairs Autopairs README Help file
mini.sessions Session management README Help file
mini.starter Start screen README Help file
mini.statusline Statusline README Help file
mini.surround Surround actions README Help file
mini.tabline Tabline README Help file
mini.test Test Neovim plugins README Help file
mini.trailspace Trailspace (highlight and remove) README Help file

mini.ai

Extend and create a/i textobjects (like in di( or va").

  • It enhances some builtin textobjects (like a(, a), a', and more), creates new ones (like a*, a<Space>, af, a?, and more), and allows user to create their own (like based on treesitter, and more).
  • Supports dot-repeat, v:count, different search methods, consecutive application, and customization via Lua patterns or functions.
  • Has builtins for brackets, quotes, function call, argument, tag, user prompt, and any punctuation/digit/whitespace character.

For video demo and quick overview see its README. For more details see its help file.


mini.align

Align text interactively (with or without instant preview).

For video demo and quick overview see its README. For more details see its help file.


mini.animate

Animate common Neovim actions (works out of the box without extra mappings or commands needed).

For video demo and quick overview see its README. For more details see its help file.


mini.base16

Fast implementation of chriskempson/base16 theme for manually supplied palette.

  • Supports 30+ plugin integrations.
  • Has unique palette generator which needs only background and foreground colors.
  • Comes with several hand-picked color schemes.

For video demo and quick overview see its README. For more details see its help file.


mini.basics

Common configuration presets

For video demo and quick overview see its README. For more details see its help file.


mini.bufremove

Buffer removing (unshow, delete, wipeout), which saves window layout.

For video demo and quick overview see its README. For more details see its help file.


mini.comment

Fast and familiar per-line commenting.

For video demo and quick overview see its README. For more details see its help file.


mini.completion

Autocompletion and signature help plugin.

  • Async (with customizable 'debounce' delay) 'two-stage chain completion': first builtin LSP, then configurable fallback.
  • Has functionality for completion item info and function signature (both in floating window appearing after customizable delay).

For video demo and quick overview see its README. For more details see its help file.


mini.cursorword

Automatic highlighting of word under cursor (displayed after customizable delay).

For video demo and quick overview see its README. For more details see its help file.


mini.doc

Generation of help files from EmmyLua-like annotations. Allows flexible customization of output via hook functions. Used for documenting this plugin.

For video demo and quick overview see its README. For more details see its help file.


mini.fuzzy

Minimal and fast fuzzy matching.

For video demo and quick overview see its README. For more details see its help file.


mini.indentscope

Visualize and operate on indent scope. Supports customization of debounce delay, animation style, and different granularity of options for scope computing algorithm.

  • Customizable debounce delay, animation style, and scope computation options.
  • Implements scope-related motions and textobjects.

For video demo and quick overview see its README. For more details see its help file.


mini.jump

Smarter forward/backward jumping to a single character.

For video demo and quick overview see its README. For more details see its help file.


mini.jump2d

Jump within visible lines via iterative label filtering.

For video demo and quick overview see its README. For more details see its help file.


mini.map

Window with buffer text overview, scrollbar, and highlights.

For video demo and quick overview see its README. For more details see its help file.


mini.misc