ibhagwan / fzf-lua
git clone https://github.com/ibhagwan/fzf-lua.git
🔥 on GitHub Trending today
Improved fzf.vim written in lua
+0
stars, 24h · #637
+8
stars, 7 days · #1,587
—
stars, 30 days
4.5k
★ total · +0% this week
273
forks · 6 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageLua
LicenseMIT
Created2021-07-11 (5y ago)
Last pushtoday
Watchers14
OwnerUser
Seen on GitHub Trending
- 2026-10-20 — #9 daily in lua
- 2026-10-20 — #12 weekly in lua · +8 ★
GitHub topics
Links
README excerpt
# fzf :heart: lua Quickstart • Installation • Usage • Commands • Customization • Wiki “because you can and you love fzf” - @junegunn "fzf changed my command life, it can change yours too, if you allow it" - @ibhagwan ## Quickstart To quickly test this plugin without changing your configuration run (will run in its own sandbox with the default keybinds below): > [!NOTE] > it's good practice to first > read the script > before running `sh -c` directly from the web [code] | Key | Command | Key | Command | | ----------| ------------------| ----------| ------------------| | ` ` | buffers | ` ` | files | | ` ` | grep | ` ` | live_grep | | ` ` | builtin commands | ` ` | neovim help | ## Installation Using vim.pack and Neovim 0.12+ [code] Using lazy.nvim [code] Show dependencies ### Dependencies - `neovim` version >= `0.9` - `fzf` version > `0.36` or `skim` binary installed - nvim-web-devicons or mini.icons (optional) ### Optional dependencies - fd - better `find` utility - rg - better `grep` utility - bat - syntax highlighted previews when using fzf's native previewer - delta - syntax highlighted git pager for git status previews - jj - for Jujutsu commands (`jj_files`, `vcs_files`) - nvim-dap - for Debug Adapter Protocol (DAP) support - nvim-treesitter-context - for viewing treesitter context within the previewer - render-markdown.nvim or markview.nvim - for rendering markdown files in the previewer Below are a few optional dependencies for viewing media files (which you need to configure in `previewer.builtin.extensions`): - chafa - terminal image previewer (recommended, supports most file formats) - viu - terminal image previewer - ueberzugpp - terminal image previewer using X11/Wayland child windows, sixels, kitty and iterm2 > [!TIP] > If your terminal supports the kitty graphics protocol (e.g. kitty, ghostty, etc) install > @folke's snacks.nvim to render images using the > `snacks.image` module, it will be auto-detected by fzf-lua and requires no configuration. ### Windows Notes - rg is required for `grep` and `tags` - git for Windows is required for `git` (though installing `git-bash`|`sh` **is not required**). - Installation of dependencies (fzf, rg, fd, etc) is possible via scoop, chocolatey or winget-cli - Although almost everything works on Windows exactly as the \*NIX/OSX check out the Windows README for known issues and limitations. ## Usage Fzf-lua aims to be as plug and play as possible with sane defaults, you can run any fzf-lua command like this: [code] or with arguments: [code] ### Resume Resuming work from where you left off is as easy as: [code] Alternatively, resuming work on a specific picker: [code] ### Combining Pickers Fzf-Lua can combine any of the available pickers into a single display using the `combine` method, for example file history (oldfiles) and git-files: [code] > [!NOTE] > The first picker options determine the options used by the combined > picker, that includes formatters, previewe