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