[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70604":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},70604,"mini.nvim","nvim-mini\u002Fmini.nvim","nvim-mini","Library of 45+ independent Lua modules improving Neovim experience with minimal effort","https:\u002F\u002Fnvim-mini.org\u002Fmini.nvim\u002F",null,"Lua",9270,305,29,35,0,20,39,140,60,112.96,"MIT License",false,"main",true,[27,28,29,30],"lua","mini-nvim","neovim","neovim-plugin","2026-06-12 04:00:56","\u003Cp align=\"center\"> \u003Cimg src=\"logo.png\" alt=\"mini.nvim\" style=\"max-width:100%;border:solid 2px\"\u002F> \u003C\u002Fp>\n\n### All-in-one plugin\n\nLibrary of 40+ independent Lua modules improving overall [Neovim](https:\u002F\u002Fgithub.com\u002Fneovim\u002Fneovim) (version 0.10 and higher) experience with minimal effort. They all share same configuration approaches and general design principles.\n\nThink 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.\n\nIf you want to help this project grow but don't know where to start:\n\n- Leave a Github star for 'mini.nvim' and\u002For any other [MINI projects](https:\u002F\u002Fnvim-mini.org).\n- Check out [contributing guides](CONTRIBUTING.md).\n\nSee [change log](CHANGELOG.md) for a history of changes, including current development version.\n\nSee [MiniMax](https:\u002F\u002Fnvim-mini.org\u002FMiniMax) for a full config example based on 'mini.nvim'.\n\n> [!NOTE]\n> This was previously hosted at `echasnovski\u002Fmini.nvim`. It was transferred to a dedicated organization to improve long term project stability. See more details [here](https:\u002F\u002Fgithub.com\u002Fnvim-mini\u002Fmini.nvim\u002Fdiscussions\u002F1970).\n\n## Table of contents\n\n- [Installation](#installation)\n- [Modules](#modules)\n- [General principles](#general-principles)\n- [Plugin color schemes](#plugin-color-schemes)\n- [Planned modules](#planned-modules)\n\n## Installation\n\nThere are two branches to install from:\n\n- `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).\n- `stable` will be updated only upon releases with code tested during public beta-testing phase in `main` branch.\n\nHere are code snippets for some common installation methods:\n\n- (**Recommended**) With [vim.pack](https:\u002F\u002Fneovim.io\u002Fdoc\u002Fuser\u002Fhelptag.html?tag=vim.pack) (on Neovim 0.12 and newer):\n\n    - Main branch:\n\n        ```lua\n        vim.pack.add({ 'https:\u002F\u002Fgithub.com\u002Fnvim-mini\u002Fmini.nvim' })\n        ```\n\n    - Stable branch:\n\n        ```lua\n        vim.pack.add({\n          { src = 'https:\u002F\u002Fgithub.com\u002Fnvim-mini\u002Fmini.nvim', version = 'stable' },\n        })\n        ```\n\n- Manually with `git clone` (compatible with [mini.deps](https:\u002F\u002Fnvim-mini.org\u002Fmini.nvim\u002Freadmes\u002Fmini-deps)):\n\n    ```lua\n    -- Put this at the top of 'init.lua'\n    local path_package = vim.fn.stdpath('data') .. '\u002Fsite'\n    local mini_path = path_package .. '\u002Fpack\u002Fdeps\u002Fstart\u002Fmini.nvim'\n    if not vim.loop.fs_stat(mini_path) then\n      vim.cmd('echo \"Installing `mini.nvim`\" | redraw')\n      local clone_cmd = {\n        'git', 'clone', '--filter=blob:none',\n        -- Uncomment next line to use 'stable' branch\n        -- '--branch', 'stable',\n        'https:\u002F\u002Fgithub.com\u002Fnvim-mini\u002Fmini.nvim', mini_path\n      }\n      vim.fn.system(clone_cmd)\n      vim.cmd('packadd mini.nvim | helptags ALL')\n      vim.cmd('echo \"Installed `mini.nvim`\" | redraw')\n    end\n    ```\n\n- With [folke\u002Flazy.nvim](https:\u002F\u002Fgithub.com\u002Ffolke\u002Flazy.nvim):\n\n    - Main branch:\n\n        ```lua\n        { 'nvim-mini\u002Fmini.nvim', version = false },\n        ```\n\n    - Stable branch:\n\n        ```lua\n        { 'nvim-mini\u002Fmini.nvim', version = '*' },\n        ```\n\n- Every module is also distributed as a standalone Git repository. Check out module's information for more details.\n\n**Important**: don't forget to call module's `setup()` (if required) to enable its functionality.\n\n**Note**: if you are on Windows, there might be problems with too long file paths (like `error: unable to create file \u003Csome file name>: Filename too long`). Try doing one of the following:\n\n- Enable corresponding git global config value: `git config --system core.longpaths true`. Then try to reinstall.\n- Install plugin in other place with shorter path.\n\n## Modules\n\n'mini.nvim' contains many modules which is slightly daunting at first. All of them can be used independently, one at a time.\n\nFor 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](doc\u002Fmini-nvim.txt).\n\n### Text editing\n\nThese modules improve your text editing experience. Start with 'mini.ai', 'mini.operators', and 'mini.surround'.\n\n| Module          | Description                           | Overview                             | Details                                  |\n|-----------------|---------------------------------------|--------------------------------------|------------------------------------------|\n| mini.ai         | Extend and create `a`\u002F`i` textobjects | [README](readmes\u002Fmini-ai.md)         | [Documentation](doc\u002Fmini-ai.txt)         |\n| mini.align      | Align text interactively              | [README](readmes\u002Fmini-align.md)      | [Documentation](doc\u002Fmini-align.txt)      |\n| mini.comment    | Comment lines                         | [README](readmes\u002Fmini-comment.md)    | [Documentation](doc\u002Fmini-comment.txt)    |\n| mini.completion | Completion and signature help         | [README](readmes\u002Fmini-completion.md) | [Documentation](doc\u002Fmini-completion.txt) |\n| mini.keymap     | Special key mappings                  | [README](readmes\u002Fmini-keymap.md)     | [Documentation](doc\u002Fmini-keymap.txt)     |\n| mini.move       | Move any selection in any direction   | [README](readmes\u002Fmini-move.md)       | [Documentation](doc\u002Fmini-move.txt)       |\n| mini.operators  | Text edit operators                   | [README](readmes\u002Fmini-operators.md)  | [Documentation](doc\u002Fmini-operators.txt)  |\n| mini.pairs      | Autopairs                             | [README](readmes\u002Fmini-pairs.md)      | [Documentation](doc\u002Fmini-pairs.txt)      |\n| mini.snippets   | Manage and expand snippets            | [README](readmes\u002Fmini-snippets.md)   | [Documentation](doc\u002Fmini-snippets.txt)   |\n| mini.splitjoin  | Split and join arguments              | [README](readmes\u002Fmini-splitjoin.md)  | [Documentation](doc\u002Fmini-splitjoin.txt)  |\n| mini.surround   | Surround actions                      | [README](readmes\u002Fmini-surround.md)   | [Documentation](doc\u002Fmini-surround.txt)   |\n\n### General workflow\n\nThese modules improve your general workflow. Start with 'mini.bracketed', 'mini.files', and 'mini.pick'.\n\n| Module         | Description                              | Overview                            | Details                                 |\n|----------------|------------------------------------------|-------------------------------------|-----------------------------------------|\n| mini.basics    | Common configuration presets             | [README](readmes\u002Fmini-basics.md)    | [Documentation](doc\u002Fmini-basics.txt)    |\n| mini.bracketed | Go forward\u002Fbackward with square brackets | [README](readmes\u002Fmini-bracketed.md) | [Documentation](doc\u002Fmini-bracketed.txt) |\n| mini.bufremove | Remove buffers                           | [README](readmes\u002Fmini-bufremove.md) | [Documentation](doc\u002Fmini-bufremove.txt) |\n| mini.clue      | Show next key clues                      | [README](readmes\u002Fmini-clue.md)      | [Documentation](doc\u002Fmini-clue.txt)      |\n| mini.cmdline   | Command line tweaks                      | [README](readmes\u002Fmini-cmdline.md)   | [Documentation](doc\u002Fmini-cmdline.txt)   |\n| mini.deps      | Plugin manager                           | [README](readmes\u002Fmini-deps.md)      | [Documentation](doc\u002Fmini-deps.txt)      |\n| mini.diff      | Work with diff hunks                     | [README](readmes\u002Fmini-diff.md)      | [Documentation](doc\u002Fmini-diff.txt)      |\n| mini.extra     | Extra 'mini.nvim' functionality          | [README](readmes\u002Fmini-extra.md)     | [Documentation](doc\u002Fmini-extra.txt)     |\n| mini.files     | Navigate and manipulate file system      | [README](readmes\u002Fmini-files.md)     | [Documentation](doc\u002Fmini-files.txt)     |\n| mini.git       | Git integration                          | [README](readmes\u002Fmini-git.md)       | [Documentation](doc\u002Fmini-git.txt)       |\n| mini.jump      | Jump to next\u002Fprevious single character   | [README](readmes\u002Fmini-jump.md)      | [Documentation](doc\u002Fmini-jump.txt)      |\n| mini.jump2d    | Jump within visible lines                | [README](readmes\u002Fmini-jump2d.md)    | [Documentation](doc\u002Fmini-jump2d.txt)    |\n| mini.misc      | Miscellaneous functions                  | [README](readmes\u002Fmini-misc.md)      | [Documentation](doc\u002Fmini-misc.txt)      |\n| mini.pick      | Pick anything                            | [README](readmes\u002Fmini-pick.md)      | [Documentation](doc\u002Fmini-pick.txt)      |\n| mini.sessions  | Session management                       | [README](readmes\u002Fmini-sessions.md)  | [Documentation](doc\u002Fmini-sessions.txt)  |\n| mini.visits    | Track and reuse file system visits       | [README](readmes\u002Fmini-visits.md)    | [Documentation](doc\u002Fmini-visits.txt)    |\n\n### Appearance\n\nThese modules improve your Neovim appearance. Start with 'mini.hues', 'mini.icons', and 'mini.statusline'.\n\n| Module           | Description                          | Overview                              | Details                                   |\n|------------------|--------------------------------------|---------------------------------------|-------------------------------------------|\n| mini.animate     | Animate common Neovim actions        | [README](readmes\u002Fmini-animate.md)     | [Documentation](doc\u002Fmini-animate.txt)     |\n| mini.base16      | Base16 colorscheme creation          | [README](readmes\u002Fmini-base16.md)      | [Documentation](doc\u002Fmini-base16.txt)      |\n| mini.colors      | Tweak and save any color scheme      | [README](readmes\u002Fmini-colors.md)      | [Documentation](doc\u002Fmini-colors.txt)      |\n| mini.cursorword  | Autohighlight word under cursor      | [README](readmes\u002Fmini-cursorword.md)  | [Documentation](doc\u002Fmini-cursorword.txt)  |\n| mini.hipatterns  | Highlight patterns in text           | [README](readmes\u002Fmini-hipatterns.md)  | [Documentation](doc\u002Fmini-hipatterns.txt)  |\n| mini.hues        | Generate configurable color scheme   | [README](readmes\u002Fmini-hues.md)        | [Documentation](doc\u002Fmini-hues.txt)        |\n| mini.icons       | Icon provider                        | [README](readmes\u002Fmini-icons.md)       | [Documentation](doc\u002Fmini-icons.txt)       |\n| mini.indentscope | Visualize and work with indent scope | [README](readmes\u002Fmini-indentscope.md) | [Documentation](doc\u002Fmini-indentscope.txt) |\n| mini.map         | Window with buffer text overview     | [README](readmes\u002Fmini-map.md)         | [Documentation](doc\u002Fmini-map.txt)         |\n| mini.notify      | Show notifications                   | [README](readmes\u002Fmini-notify.md)      | [Documentation](doc\u002Fmini-notify.txt)      |\n| mini.starter     | Start screen                         | [README](readmes\u002Fmini-starter.md)     | [Documentation](doc\u002Fmini-starter.txt)     |\n| mini.statusline  | Statusline                           | [README](readmes\u002Fmini-statusline.md)  | [Documentation](doc\u002Fmini-statusline.txt)  |\n| mini.tabline     | Tabline                              | [README](readmes\u002Fmini-tabline.md)     | [Documentation](doc\u002Fmini-tabline.txt)     |\n| mini.trailspace  | Trailspace (highlight and remove)    | [README](readmes\u002Fmini-trailspace.md)  | [Documentation](doc\u002Fmini-trailspace.txt)  |\n\n### Other\n\nThese modules don't quite fit in any of the previous categories.\n\n| Module     | Description                | Overview                        | Details                             |\n|------------|----------------------------|---------------------------------|-------------------------------------|\n| mini.doc   | Generate Neovim help files | [README](readmes\u002Fmini-doc.md)   | [Documentation](doc\u002Fmini-doc.txt)   |\n| mini.fuzzy | Fuzzy matching             | [README](readmes\u002Fmini-fuzzy.md) | [Documentation](doc\u002Fmini-fuzzy.txt) |\n| mini.test  | Test Neovim plugins        | [README](readmes\u002Fmini-test.md)  | [Documentation](doc\u002Fmini-test.txt)  |\n\n## General principles\n\n### Design\n\nEach module is designed to solve a particular problem targeting balance between feature-richness (handling as many edge-cases as possible) and simplicity of implementation\u002Fsupport. Granted, not all of them ended up with the same balance, but it is the goal nevertheless.\n\n### Independence\n\nModules are independent of each other and can be run without external dependencies. Although some of them may need dependencies for full experience.\n\n### Structure\n\nEach module is a submodule for a placeholder \"mini\" module. So, for example, \"surround\" module should be referred to as \"mini.surround\".  As later will be explained, this plugin can also be referred to as \"MiniSurround\".\n\n### Setup\n\n- Each module you want to use should be enabled separately with `require(\u003Cname of module>).setup({})`. Possibly replace `{}` with your config table or omit altogether to use defaults. You can supply only parts of config, the rest will be inferred from defaults.\n\n- Call to module's `setup()` always creates a global Lua object with coherent camel-case name: `require('mini.surround').setup()` creates `_G.MiniSurround`. This allows for a simpler usage of plugin functionality: instead of `require('mini.surround')` use `MiniSurround` (or manually `:lua MiniSurround.*` in command line); available from `v:lua` like `v:lua.MiniSurround`. Considering this, \"module\" and \"Lua object\" names can be used interchangeably: 'mini.surround' and 'MiniSurround' will mean the same thing.\n\n- Each supplied `config` table is stored in `config` field of global object. Like `MiniSurround.config`.\n\n- Values of `config` which affect runtime activity can be changed on the fly to have effect. For example, `MiniSurround.config.n_lines` can be changed during runtime; but changing `MiniSurround.config.mappings` won't have any effect (as mappings are created once during `setup()`).\n\n- If module works best with some specific non-default option value, it is set during `setup()`. If the value is not essential to module's functionality, it is done only if user or another plugin hasn't set it beforehand (no matter the value).\n\n### Buffer local configuration\n\nEach module can be additionally configured to use certain runtime config settings locally to buffer. See `mini.nvim-buffer-local-config` section in help file for more information.\n\n### Buffer names\n\nAll module-related buffers are named according to the following format: `mini\u003Cmodule-name>:\u002F\u002F\u003Cbuffer-number>\u002F\u003Cuseful-info>` (forward slashes are used on any platform; `\u003Cuseful-info>` may be empty). This structure allows creating identifiable, reasonably unique, and useful buffer names. For example, 'mini.files' buffers are created per displayed directory\u002Ffile with names like `minifiles:\u002F\u002F10\u002Fpath\u002Fto\u002Fdisplayed\u002Fdirectory`.\n\n### Disabling\n\nEach module's core functionality can be disabled globally or locally to buffer. See \"Disabling\" section in module's help page for more details. See `mini.nvim-disabling-recipes` section in main help file for common recipes.\n\n### Silencing\n\nEach module providing non-error feedback (like a reminder to press a key after some idle time in 'mini.ai', 'mini.jump2d', 'mini.surround') can be configured to not do that by setting `config.silent = true` (either inside `setup()` call or on the fly).\n\n### Highlighting\n\nAppearance of module's output is controlled by certain set of highlight groups (see `:h highlight-groups`). By default they usually link to some semantically close built-in highlight group and are ensured to be defined after any color scheme takes effect. Use `:highlight` command or `vim.api.nvim_set_hl()` Lua function to customize highlighting. To see a more calibrated look, use 'mini.hues', 'mini.base16', or plugin's color scheme.\n\n### Stability\n\nEach module upon release is considered to be relatively stable: both in terms of setup and functionality. Any non-bugfix backward-incompatible change will be released gradually as much as possible.\n\n### Not filetype and language specific\n\nIncluding functionality which needs several filetype\u002Flanguage specific implementations is an explicit no-goal of this project. This is mostly due to the potential increase in maintenance to keep implementation up to date. However, any part which might need filetype\u002Flanguage specific tuning should be designed to allow it by letting user set proper buffer options and\u002For local configuration.\n\n## Plugin color schemes\n\nThis plugin comes with several color schemes (all have both dark and light variants). Activate any of them as a regular `colorscheme` (like `:colorscheme miniwinter` or `vim.cmd.colorscheme('miniwinter')`).\n\n- Based on ['mini.hues'](readmes\u002Fmini-hues.md) (recommended):\n    - `miniwinter`: \"icy winter\" palette with azure background.\n    - `minispring`: \"blooming spring\" palette with green background.\n    - `minisummer`: \"hot summer\" palette with brown\u002Fyellow background.\n    - `miniautumn`: \"cooling autumn\" palette with purple background.\n    - `randomhue`: random background and foreground of the same hue with medium saturation.\n\n    You can see how they look in ['mini.hues' README](readmes\u002Fmini-hues.md#bundled-color-schemes).\n\n- Based on ['mini.base16'](readmes\u002Fmini-base16.md):\n    - `minicyan`: cyan and grey main colors with medium contrast and saturation palette.\n    - `minischeme`: blue and yellow main colors with high contrast and saturation palette.\n\n    You can see how they look in ['mini.base16' README](readmes\u002Fmini-base16.md#demo).\n\n## Planned modules\n\nThis is the list of modules I currently intend to implement eventually (as my free time and dedication will allow), in alphabetical order:\n\n- 'mini.abbrev' - helper to manage\u002Fsetup Insert mode abbreviations.\n- 'mini.cycle' - cycle through alternatives with pre-defined rules. Something like [monaqa\u002Fdial.nvim](https:\u002F\u002Fgithub.com\u002Fmonaqa\u002Fdial.nvim) and [AndrewRadev\u002Fswitch.vim](https:\u002F\u002Fgithub.com\u002FAndrewRadev\u002Fswitch.vim)\n- 'mini.folds' - more capable and user-friendly folds.\n- 'mini.repl' - extendable wrapper for REPLs with built-in support for R, Python, Julia, and maybe (just maybe) some AI tools.\n- 'mini.sendtext' - send text between buffers. In particular between regular and built-in terminal buffers.\n- 'mini.statuscolumn' - customizable 'statuscolumn'.\n- 'mini.terminals' - coherently manage interactive terminal buffers. Something like [kassio\u002Fneoterm](https:\u002F\u002Fgithub.com\u002Fkassio\u002Fneoterm). Might also incorporate functionality to asynchronously run code in shell with post-processed results.\n- 'mini.quickfix' - more capable and user-friendly quickfix list. Possibly with preview and inline editing for search-and-replace workflow.\n- 'mini.windows' - window manager. Interactive picker, layout organizer, and maybe more.\n","mini.nvim 是一个包含40多个独立Lua模块的库，旨在以最小的努力提升Neovim 0.10及以上版本的使用体验。每个模块都遵循一致的配置方法和设计理念，可以单独启用或禁用，确保了高度的灵活性与可定制性。这些模块覆盖了从代码编辑辅助到界面美化等多方面的功能，适用于希望在不牺牲性能的前提下增强Neovim功能的各种用户。无论是初学者还是经验丰富的开发者，都可以根据自己的需求选择合适的工具来优化日常编码工作流程。",2,"2026-06-11 03:32:57","high_star"]