leo-arch / fnf

A simple fuzzy finder for the terminal
MIT License
20 stars 3 forks source link
console finder fuzzy fuzzy-matching fuzzy-search fzf terminal

FNF

A fast, simple fuzzy finder with an advanced scoring algorithm.

Born as a fork of fzy (originaly intended to make fzy work with the clifm file manager), fnf (recursive acronym for fnf's not fzy) adds a few new features to the original fzy, including basic color support, padding, and multi-selection. Consult the manpage for more information.

Installation

If running on Archlinux, FNF can be installed from the AUR. Else, perform a manual installation as follows:

mkdir build && cd build
git clone https://github.com/leo-arch/fnf
cd fnf
make
sudo make install

The PREFIX environment variable can be used to specify the install location, the default is /usr/local.

Use with clifm

Just run clifm as follows:

clifm --fnftab

Note: You need at least clifm 1.12.9. If running a previous version use our old fzy fork (the option is named --fzytab instead of --fnftab).

Sorting

fzy attempts to present the best matches first. The following considerations are weighted when sorting:

It prefers consecutive characters: file will match file over filter.

It prefers matching the beginning of words: amp is likely to match app/models/posts.rb.

It prefers shorter matches: abce matches abcdef over abc de.

It prefers shorter candidates: test matches tests over testing.