Fzf - En hurtig fuzzy filsøgning fra Linux Terminal


Fzf er en lille, brændende hurtig, generel formål og tværgående platform kommandolinje fuzzy finder, der hjælper dig med at søge og åbne filer hurtigt i Linux og Windows operativsystem. Det er bærbart uden afhængigheder og har et fleksibelt layout med understøttelse af Vim/Neovim-plugin, nøglebindinger og fuzzy automatisk udfyldning.

Følgende GIF viser, hvordan det fungerer.

For at installere Fzf skal du git klone fzfs Github-arkiv til ethvert bibliotek og køre installationsskript som vist på din Linux-distribution.

$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
$ cd ~/.fzf/
$ ./install

Efter at have kørt scriptet, bliver du bedt om at aktivere fuzzy automatisk udfyldning, nøglebindinger og opdatere din shell-konfigurationsfil. Svar y (for ja) på spørgsmålene som vist i følgende skærmbillede.

På Fedora 26 og derover og Arch Linux kan du installere det via en pakkehåndtering som vist.

$ sudo dnf install fzf	#Fedora 26+
$ sudo pacman -S fzf	#Arch Linux 

Nu hvor du har installeret fzf, kan du begynde at bruge den. Når du kører fzf, åbner den en interaktiv finder; læser listen over filer fra stdin og skriver det valgte element til stdout.

Indtast blot navnet på den fil, du leder efter, i prompten. Når du finder det, skal du klikke på enter og den relative sti til filen udskrives til stdout.

$ fzf

Alternativt kan du gemme den relative sti til den fil, du søger, i en navngivet fil og se indholdet af filen ved hjælp af et hjælpeprogram som f.eks. Bcat.

$ fzf >file
$ cat file
OR
$ bat file

Du kan f.eks. Også bruge den sammen med findkommandoen.

$ find ./bin/ -type f | fzf >file
$ cat file

Sådan bruges fuzzy-færdiggørelse i Bash og Zsh

For at udløse fuzzy-færdiggørelse af filer og mapper skal du tilføje ** -tegnene som en udløsersekvens.

$ cat **<Tab>

Du kan bruge denne funktion, mens du arbejder med miljøvariabler på kommandolinjen.

$ unset **<Tab>
$ unalias **<Tab>
$ export **<Tab>

Det samme gælder ssh- og telnet-kommandoerne til automatisk udfyldning af værtsnavne, der læses fra/etc/hosts og ~/.ssh/config.

$ ssh **<Tab>

Det fungerer også med kill-kommandoen, men uden udløsersekvensen som vist.

$ kill -9 <Tab>

Sådan aktiveres fzf som Vim-plugin

For at aktivere fzf som et vim-plugin skal du tilføje følgende linje i din Vim-konfigurationsfil.

set rtp+=~/.fzf

fzf udvikles aktivt og kan let opgraderes til den nyeste version ved hjælp af følgende kommando.

$ cd ~/.fzf && git pull && ./install

For at se den komplette liste over anvendelsesmuligheder skal du køre man fzf eller tjekke dets Github Repository: https://github.com/junegunn/fzf.

Fzf er en flammende hurtig og generel fuzzy finder til hurtig søgning af filer i Linux. Det har mange brugssager, for eksempel kan du konfigurere brugerdefineret brug til din shell. Hvis du har spørgsmål eller kommentarer, kan du kontakte os via feedbackformularen nedenfor.