📈 GH Trending Explorer 🎲 Surprise me

← all repos

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