FZYは、高度なスコアリングアルゴリズムを備えた端末用の高速でシンプルなファジーテキストセレクターです。
オンラインで試してみてください!
それは一種の人生を変えるものでした。 - @GrayGilmore
fzyは素晴らしい仕事をしています - @alexblackie
Fzyは他のファジーファインダーよりも速く、より良い結果を示しています。
他のほとんどのファジーマッチャーは、一致の長さに基づいてソートします。 Fzyは、ユーザーが意図した結果を見つけようとします。これは、連続した文字と言葉の始まりでの試合を好むことによって行います。これにより、頭字語またはパスのさまざまな部分を使用して一致させることができます。
ファジーファインダーが使用する並べ替えのゴリー比較は、algorithm.mdにあります
FZYは、エディタープラグインとコマンドラインの両方として使用するように設計されています。 Fzyは画面をクリアするのではなく、現在のカーソル位置の真下にインターフェイスを表示し、必要に応じて画面をスクロールします。
macos
Homebrewを使用します
brew install fzy
MacPortsを使用します
sudo port install fzy
Arch Linux/MSYS2 : pacman -S fzy
FreeBSD : pkg install fzy
Gentoo Linux : emerge -av app-shells/fzy
ubuntu/debian : apt-get install fzy
PKGSRC(NetBSDおよびその他) : pkgin install fzy
opensuse : zypper in fzy
make
sudo make install
PREFIX環境変数を使用して、インストールの場所を指定できます。デフォルトは/usr/localです。
FzyはSelectaの代替品の減少であり、その使用例で使用できます。
FzyはVIMと簡単に統合できます。
function ! FzyCommand (choice_command, vim_command)
try
let output = system ( a: choice_command . " | fzy " )
catch /Vim:Interrupt/
" Swallow errors from ^C, allow redraw! below
endtry
redraw !
if v: shell_error == 0 && ! empty (output)
exec a: vim_command . ' ' . output
endif
endfunction
nnoremap <leader> e :call FzyCommand("find . -type f", ":e") <cr>
nnoremap <leader> v :call FzyCommand("find . -type f", ":vs") <cr>
nnoremap <leader> s :call FzyCommand("find . -type f", ":sp") <cr>任意のプログラムは、FZYを介して提示されたファイルをフィルタリングするために使用できます。 AG(Silver Searcher)を使用して、 .gitignoreで指定されたファイルを無視できます。
nnoremap <leader> e :call FzyCommand("ag . --silent -l -g ''", ":e") <cr>
nnoremap <leader> v :call FzyCommand("ag . --silent -l -g ''", ":vs") <cr>
nnoremap <leader> s :call FzyCommand("ag . --silent -l -g ''", ":sp") <cr> Fzyは最初に最高の試合を提示しようとします。次の考慮事項は、ソート時に重み付けされます。
連続した文字を好む: file Fil T e rを介してファイルを一致させます。
単語の始まりを一致させることを好みます。AMP amp 、 PP / MODELS / P OSTS.RBと一致する可能性があります。
より短い一致を好む: abce abc d e f over abc d e 。
より短い候補を好む: testテストするテストと一致します。