Quickly open files from a directory by typing partial names instead of full paths.
Jump to directories in your shell history without remembering exact folder names.
Search and re-run commands from your shell history by typing keywords.
Select a running process to kill or inspect by filtering the process list.
fzf is a command-line fuzzy finder. The short version: you give it a list of things, files in a folder, your shell command history, running processes, hostnames, bookmarks, git commits, anything that comes one item per line, and it pops up an interactive prompt where you type a few characters and it filters the list as you go. The matching is fuzzy, which means the characters you type only need to appear in order somewhere in the candidate, not as a contiguous block, so typing fbar can find foo_bar_baz. Press enter and the selected line is returned to whatever you piped fzf into. That last point is the whole design idea: fzf is built to be glued together with other Unix tools. It takes input on standard input and prints the chosen item on standard output, so any list-producing command can become an interactive picker. There is also a preview window that runs a command on each candidate as you scroll, so you can, for example, preview the contents of a file before opening it. Search syntax supports exact-match anchors and negation as well as fuzzy, and key bindings can be reconfigured through an event-action system. People reach for fzf to jump to files inside large repos, to pull a previous command out of shell history, to switch between processes, to choose a git commit to check out, and as a building block in their own shell scripts. It is distributed as a single Go binary, runs on macOS, Linux, the BSDs, and Windows through many package managers, and ships with optional shell integration for Bash, Zsh, and Fish and plugins for Vim and Neovim. The full README is longer than what was provided.
Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.