junegunn/fzf
:cherry_blossom: A command-line fuzzy finder
Recommended between 2025-09-23 and 2026-10-19. Last pushed 2026-10-29.
▲ 6 recommend · ▼ 0 criticisms
What hackers say
“I always install fzf now, including the shell integrations like fuzzy history search bound to ctrl-r.”
— avidiax, 2026-10-19 · strong recommendation · original comment on Hacker News ↗
show original comment
This is useful on non-customized machines, but I always install fzf now, including the shell integrations like fuzzy history search bound to ctrl-r. https://github.com/junegunn/fzf
“I tried atuin and then switched back to fzf[0].”
— justech, 2026-03-21 · strong recommendation · original comment on Hacker News ↗
show original comment
I tried atuin and then switched back to fzf[0]. It's less features but that's not necessarily a negative. [0] https://github.com/junegunn/fzf
“It's easy to setup an interface that makes search a bit easier still, including showing you a list as you interactively filter history, with fzf”
— mcint, 2026-10-19 · original comment on Hacker News ↗
show original comment
Sweet! Well-expressed, and well-explored. It's easy to setup an interface that makes search a bit easier still, including showing you a list as you interactively filter history, with fzf, [gh-fzf]. Examples of what users use most frequently, the key-bindings.{bash,zsh} has history key binds [arch-fzf]. The developer, junegunn, writes about it more generally, and all the other fun ways you can apply it [dev-fzf]. For a few years, I wrote history files per shell-spawn, and loaded a batch of history from recent days to keep fresh what's in the immediately searchable history. Nowadays, I've just offloaded that to atuin [atuin], which I install from brew or with cargo binstall. Much less confi…
“Great for easily searching and selecting git branches + tags + commits”
— mcevoypeter, 2026-04-13 · original comment on Hacker News ↗
show original comment
1. https://github.com/junegunn/fzf for fuzzy search. Great for easily searching and selecting git branches + tags + commits, commands from shell history, files, shell jobs, processes, etc. 2. https://github.com/casey/just for more structured scripting.
“fuzzy finder”
— Zizizizz, 2026-01-10 · original comment on Hacker News ↗
show original comment
…lacement - [oxide]( https://github.com/ajeetdsouza/zoxide ) smart and fast cd replacement -[atuin]( https://atuin.sh/ ) ctrl + r and shell history finder - [fzf]( https://github.com/junegunn/fzf ) fuzzy finder ``` # Plugin Manager declare -A ZINIT ZINIT[NO_ALIASES]=1 ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" [ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)" [ ! -d $ZINIT_HOME/.git ] && git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME" source "${ZINIT_HOME}/zinit.zsh" autoload -Uz compinit; compinit # Plugins zinit light Aloxaf/fzf-tab zstyle ':fzf-tab:' use-fzf-default-opts yes zinit light zdharma-continuum/fast-syntax-highlightin…
“I might recommend using building a small alias/function with fzf[1], rather than using zoxide.”
— fwip, 2025-09-23 · original comment on Hacker News ↗
show original comment
That sounds like you've already got it pretty well figured out, then. :) If you did want to get fuzzy-matching in your workflow, I might recommend using building a small alias/function with fzf[1], rather than using zoxide. Something like `dst=$(cat ~/myprojectlist.txt | fzf) && cd $dst && source sourceme`. You wouldn't get the list sorted by most-frequent/recent like you do with zoxide, but it sounds like that's not what you're looking for anyways. [1] https://github.com/junegunn/fzf
Badge for your README
[](https://hackerrepos.org/repo/junegunn/fzf)