📈 GH Trending Explorer 🎲 Surprise me

← all repos

folke / snacks.nvim

git clone https://github.com/folke/snacks.nvim.git v2.31.0 · 7mo ago 🔥 on GitHub Trending today

🍿 A collection of QoL plugins for Neovim

+5
stars, 24h · #422
—
stars, 7 days
—
stars, 30 days
8.2k
★ total
508
forks · 21 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageLua
LicenseApache-2.0
Created2024-11-02 (1y ago)
Last push4mo ago
Watchers25
OwnerUser

Seen on GitHub Trending

  • 2026-10-20 — #4 daily in lua · +5 ★

GitHub topics

Links

README excerpt
# 🍿 `snacks.nvim`
A collection of small QoL plugins for Neovim.
## ✨ Features
| Snack | Description | Setup |
| ----- | ----------- | :---: |
| animate | Efficient animations including over 45 easing functions _(library)_ | |
| bigfile | Deal with big files | ‼️ |
| bufdelete | Delete buffers without disrupting window layout | |
| dashboard | Beautiful declarative dashboards | ‼️ |
| debug | Pretty inspect & backtraces for debugging | |
| dim | Focus on the active scope by dimming the rest | |
| explorer | A file explorer (picker in disguise) | ‼️ |
| gh | GitHub CLI integration | |
| git | Git utilities | |
| gitbrowse | Open the current file, branch, commit, or repo in a browser (e.g. GitHub, GitLab, Bitbucket) | |
| image | Image viewer using Kitty Graphics Protocol, supported by `kitty`, `wezterm` and `ghostty` | ‼️ |
| indent | Indent guides and scopes | |
| input | Better `vim.ui.input` | ‼️ |
| keymap | Better `vim.keymap` with support for filetypes and LSP clients | |
| layout | Window layouts | |
| lazygit | Open LazyGit in a float, auto-configure colorscheme and integration with Neovim | |
| notifier | Pretty `vim.notify` | ‼️ |
| notify | Utility functions to work with Neovim's `vim.notify` | |
| picker | Picker for selecting items | ‼️ |
| profiler | Neovim lua profiler | |
| quickfile | When doing `nvim somefile.txt`, it will render the file as quickly as possible, before loading your plugins. | ‼️ |
| rename | LSP-integrated file renaming with support for plugins like neo-tree.nvim and mini.files. | |
| scope | Scope detection, text objects and jumping based on treesitter or indent | ‼️ |
| scratch | Scratch buffers with a persistent file | |
| scroll | Smooth scrolling | ‼️ |
| statuscolumn | Pretty status column | ‼️ |
| terminal | Create and toggle floating/split terminals | |
| toggle | Toggle keymaps integrated with which-key icons / colors | |
| util | Utility functions for Snacks _(library)_ | |
| win | Create and manage floating windows or splits | |
| words | Auto-show LSP references and quickly navigate between them | ‼️ |
| zen | Zen mode • distraction-free coding | |
## ⚡️ Requirements
- **Neovim** >= 0.9.4
- for proper icons support:
 - mini.icons _(optional)_
 - nvim-web-devicons _(optional)_
 - a Nerd Font **_(optional)_**
## 📦 Installation
Install the plugin with your package manager:
### lazy.nvim
> [!important]
> A couple of plugins **require** `snacks.nvim` to be set-up early.
> Setup creates some autocmds and does not load any plugins.
> Check the code to see what it does.
> [!caution]
> You need to explicitly pass options for a plugin or set `enabled = true` to enable it.
> [!tip]
> It's a good idea to run `:checkhealth snacks` to see if everything is set up correctly.
 [code] 
For an in-depth setup of `snacks.nvim` with `lazy.nvim`, check the example below.
## ⚙️ Configuration
Please refer to the readme of each plugin for their specific configuration.
 Default Options 
 [code] 
Some plugins have examples in the