Awesome
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.
<!--- ![](http://i.hawth.ca/u/fzy_animated_demo.svg) ## Why use this over fzf, pick, selecta, ctrlp, ...? fzy is faster and shows better results than other fuzzy finders. Most other fuzzy matchers sort based on the length of a match. fzy tries to find the result the user intended. It does this by favouring matches on consecutive letters and starts of words. This allows matching using acronyms or different parts of the path. A gory comparison of the sorting used by fuzzy finders can be found in [ALGORITHM.md](ALGORITHM.md) fzy 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. --->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 <tt><b>file</b></tt> over <tt><b>fil</b>t<b>e</b>r</tt>.
It prefers matching the beginning of words: amp
is likely to match <tt><b>a</b>pp/<b>m</b>odels/<b>p</b>osts.rb</tt>.
It prefers shorter matches: abce
matches <tt><b>abc</b>d<b>e</b>f</tt> over <tt><b>abc</b> d<b>e</b></tt>.
It prefers shorter candidates: test
matches <tt><b>test</b>s</tt> over <tt><b>test</b>ing</b></tt>.