Fzf: una cerca ràpida de fitxers difusos des del terminal Linux


Fzf és un cercador difús de línia d'ordres petit, ràpid, de propòsit general i multiplataforma, que us ajuda a cercar i obrir fitxers ràpidament al sistema operatiu Linux i Windows. És portàtil sense dependències i té un disseny flexible amb suport per al connector Vim/Neovim, enllaços de tecles i una completació automàtica difusa.

El següent GIF mostra com funciona.

Per instal·lar Fzf, heu de clonar el dipòsit Github de fzf a qualsevol directori i executar l'script d'instal·lació tal com es mostra a la vostra distribució Linux.

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

Després d'executar l'script, se us demanarà que habiliteu la compleció automàtica difusa, les vinculacions de tecles i actualitzeu el fitxer de configuració de l'intèrpret d'ordres. Respon y (per a sí) a les preguntes tal com es mostra a la captura de pantalla següent.

A Fedora 26 i posteriors, i Arch Linux, podeu instal·lar-lo mitjançant un gestor de paquets com es mostra.

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

Ara que heu instal·lat fzf, podeu començar a utilitzar-lo. Quan executeu fzf, obrirà un cercador interactiu; llegeix la llista de fitxers de stdin i escriu l'element seleccionat a stdout.

Simplement escriviu el nom del fitxer que cerqueu a l'indicador. Quan el trobeu, feu clic a Intro i el camí relatiu del fitxer s'imprimirà a stdout.

$ fzf

Alternativament, podeu desar el camí relatiu del fitxer que esteu cercant en un fitxer amb nom i veure el contingut del fitxer mitjançant una utilitat com ara bcat.

$ fzf >file
$ cat file
OR
$ bat file

També podeu utilitzar-lo juntament amb l'ordre find, per exemple.

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

Com utilitzar la finalització difusa a Bash i Zsh

Per activar la finalització difusa de fitxers i directoris, afegiu els caràcters ** com a seqüència d'activació.

$ cat **<Tab>

Podeu utilitzar aquesta funció mentre treballeu amb variables ambientals a la línia d'ordres.

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

El mateix s'aplica a les ordres ssh i telnet, per a l'emplenament automàtic dels noms d'amfitrió que es llegeixen des de /etc/hosts i ~/.ssh/config.

$ ssh **<Tab>

També funciona amb l'ordre kill, però sense la seqüència d'activació tal com es mostra.

$ kill -9 <Tab>

Com habilitar fzf com a connector de Vim

Per habilitar fzf com a connector de vim, afegiu la línia següent al fitxer de configuració de Vim.

set rtp+=~/.fzf

fzf s'està desenvolupant activament i es pot actualitzar fàcilment a la darrera versió mitjançant l'ordre següent.

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

Per veure la llista completa d'opcions d'ús, executeu man fzf o consulteu el seu Repositori Github: https://github.com/junegunn/fzf.

Fzf és un cercador borrós ràpid i d'ús general per cercar ràpidament fitxers a Linux. Té molts casos d'ús, per exemple, podeu configurar l'ús personalitzat per al vostre shell. Si teniu cap pregunta o comentari, poseu-vos en contacte amb nosaltres mitjançant el formulari de comentaris que trobareu a continuació.