fzf

General-purpose command-line fuzzy finder

Quick summary

fzf is a general-purpose command-line fuzzy finder. It interactively filters lines from stdin or files. Integrated into Fish shell via key bindings (Ctrl+T for files, Ctrl+R for history, Alt+C for cd).

Common tasks

Basic Usage

find . -type f | fzf

Basic Usage

fzf --preview 'cat {}'

What is it?

fzf is a general-purpose command-line fuzzy finder. It interactively filters lines from stdin or files. Integrated into Fish shell via key bindings (Ctrl+T for files, Ctrl+R for history, Alt+C for cd).

Basic Usage

Search files (Ctrl+T):

~ Press Ctrl+T, type to filter, select with Tab/Enter

Reverse history search (Ctrl+R):

~ Press Ctrl+R, type any part of a past command to find it

cd into subdirectory (Alt+C):

~ Press Alt+C, select a directory to cd into it

Pipe to fzf:

$find . -type f | fzf

With preview:

$fzf --preview 'cat {}'

Tips

Use fzf --preview 'cat {}' to preview file contents as you filter.
Set FZF_DEFAULT_COMMAND to use fd for faster search.
fzf is integrated into Fish shell by default via the bootstrapper.