La comanda
$ fzf
Si l'invoques directament (no és el més habitual), buscarà els noms dels
arxius dins la carpeta actual (i també les subcarpetes). S'obrirà un camp de
text on es mostraran els resultats que s'ajustin més al que estàs escrivint a
temps real. Un cop filtrats els resultats, apretes la tecla Enter amb la
opció seleccionada, i s'acaba el programa. El resultat del procés és el nom
que has seleccionat després de la cerca. Pot semblar extrany que no faci res
més, però que sigui exactament així és precisament el que fa que sigui tan
potent, ja que permet acoplar-hi qualsevol altra comanda. Per exemple, si
vols editar un fitxer amb l'editor de text
$ vim `fzf`
D'aquesta manera pots obrir qualsevol fitxer dins la carpeta on estiguis en qüestió de milisegons. És tan útil que val la pena tenir-la mapejada a un alias, com per exemple:
$ alias vimf='vim `fzf`'
nota: guarda la línia anterior dins el fitxer ~/.bashrc per tenir
l'alias disponible sempre.
Així, navegues fins l'arrel d'un projecte amb la comanda
$ vimf
La comanda
$ less `find /usr/include | fzf`
Immediatament has trobat la ruta sencera a l'arxiu que buscaves i has mirat
dins l'arxiu amb la comanda
Un altre exemple: imagina que tens un arxiu anomenat
$ cat langs.txt
javascript
python
C
rust
go
matlab
java
ruby
perl
La següent comanda permet seleccionar de forma interactiva un dels noms de la
llista i buscar un manual dins la web
$ curl cheat.sh/`cat langs.txt | fzf`
La comanda
Si fas servir vim-plug,
afegeix aquestes línies al
Plug 'junegunn/fzf',{'dir':'~/.fzf','do':'./install --all'}
"exemple de mapping de la funció :FZF"
nnoremap ,f :FZF
I així és com l'utilitzo en el meu dia a dia.
Instal·lació:
# GNU Linux (Debian i derivats)
$ sudo apt install fzf
# Mac OS X
$ brew install fzf
Manual:
$ man fzf
Tota la info sobre
Salut!
Lluís