rff
is a fast, simple fuzzy selector for the terminal with an advanced scoring algorithm and full UTF-8 support.
Pre-compiled binaries are available for common architectures, starting with version 0.3.0.
If you have a Rust toolchain installed, you can also build rff
from source via Cargo:
$ cargo install rff
rff
is a drop-in replacement for other fuzzy selection tools such as fzy
or selecta
.
Its interface is straightforward:
- pass it a set of choices on
STDIN
- it will present a fuzzy selection interface to the user, and block until they make a selection or quit with
^C
- it will print the user's selection on
STDOUT
As an example, you can say:
$ vim $(find . -type f | rff)
Which prompts the user to select a file in or below the current directory, and then opens the selected file in vim
.
rff
supports these keys:
^N
to select the next match^P
to select the previous match^U
to clear the search query^C
,^D
, andEsc
to exit without selecting a match
rff
is currently based on fzy
's scoring algoritm. For details on how this is better than most fuzzy finders, see fzy
's ALGORITHM.md
.