rff
rff copied to clipboard
:microscope: rff: a rustic fuzzy finder
rff
rff
is a fast, simple fuzzy selector for the terminal with an advanced scoring algorithm and full UTF-8 support.
Installation
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
Usage
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
Scoring
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
.