Skip to content
🔬 rff: a rustic fuzzy finder
Rust Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benches
ci
src
.gitignore
.travis.yml
Cargo.lock
Cargo.toml
LICENSE
README.md

README.md

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, and Esc 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.

You can’t perform that action at this time.