jhawthorn/fzy logo

jhawthorn/fzy

Free

:mag: A simple, fast fuzzy finder for the terminal

FreeFree tier
Type
Open Source

About jhawthorn/fzy

fzy is a fast, simple fuzzy text selector for the terminal with an advanced scoring algorithm. It is designed to be used both as an editor plugin and on the command line. Rather than clearing the screen, fzy displays its interface directly below the current cursor position, scrolling the screen if necessary. The sorting algorithm favors matches on consecutive letters, beginnings of words, shorter matches, and shorter candidates to present the results the user intended. It can be installed via package managers on macOS (Homebrew, MacPorts), Linux (Arch, FreeBSD, Gentoo, Ubuntu/Debian, openSUSE), or built from source. fzy works as a drop-in replacement for selecta and includes Vim integration examples.

Key Features

Advanced scoring algorithm favoring consecutive letters and word starts
Terminal interface that does not clear the screen
Drop-in replacement for selecta
Vim integration support with example functions
Cross-platform installation via package managers (Homebrew, pacman, apt, etc.)
Open source under MIT license
Written in C for performance

Pros & Cons

Pros
  • Faster and shows better results than other fuzzy finders like fzf
  • Advanced scoring prioritizes user intent over simple length-based matching
  • Simple to install and use with package managers or from source
  • Lightweight and fast
  • Works as a drop-in replacement for selecta
  • Open source with MIT license, allowing free use and modification
Cons
  • Limited to terminal/TUI interface, no graphical UI
  • No built-in preview window for selected items
  • Only searches text input piped to it; does not search file contents natively
  • Requires piping other commands (e.g., find, ag) for full file system searching

Best For

Fuzzy file searching in the terminalEditor integration (e.g., Vim for opening files with :e, :vs, :sp)Command line fuzzy selection from piped input (e.g., from find or ag)Quick navigation of paths and filenames

FAQ

How does fzy differ from other fuzzy finders like fzf?
fzy uses an advanced scoring algorithm that favors consecutive letters, beginnings of words, shorter matches, and shorter candidates to present the results the user intended. Many other matchers sort based on length of match. A detailed comparison is available in ALGORITHM.md.
Can fzy be integrated with Vim?
Yes, the README provides Vimscript functions to use fzy for file opening with commands like :e, :vs, :sp. It can also be paired with ag (the silver searcher) to ignore files specified by .gitignore.
How can I install fzy?
fzy can be installed via package managers: macOS (Homebrew, MacPorts), Linux (Arch, FreeBSD, Gentoo, Ubuntu/Debian, openSUSE), or built from source using 'make' and 'sudo make install', with PREFIX environment variable available.