Se lavorate spesso con il terminale, è molto probabile che abbiate avuto a che fare con lunghi elenchi di file, estese cronologie di comandi o enormi repository Git. È qui che brilla fzf, il fuzzy finder per la riga di comando. È veloce, flessibile e straordinariamente potente una volta integrato nel flusso di lavoro quotidiano del vostro VPS.

Questo articolo vi guiderà attraverso l’installazione di fzf su Linux, la sua configurazione e il suo utilizzo in scenari pratici che aumentano la produttività.

Che cos’è fzf?

fzf è un fuzzy finder generico scritto in Go. Permette di filtrare in modo interattivo elenchi comenomi di file, cronologia dei comandi, processi o rami Git, utilizzando una logica di ricerca fuzzy. Ciò significa che non è necessario digitare il nome completo dell’elemento che si sta cercando, bastano pochi caratteri memorabili.

Ad esempio, per trovare un file chiamato application_config_backup.txt, può essere sufficiente digitare acb per trovarlo immediatamente.

Perché usare fzf?

Ecco alcuni motivi fondamentali per aggiungere fzf alla vostra cassetta degli attrezzi del terminale:

  • 🚀 Ricerca velocissima su enormi insiemi di dati
  • 🧠 Corrispondenza fuzzy intelligente con una minima pressione di tasti
  • 🧩 Facile integrazione con altri strumenti CLI (ad esempio, find, rg, git)
  • 🧰 Legami con i tasti già presenti per Bash, Zsh e Fish
  • 🔧 Comportamento e aspetto altamente personalizzabili

Installazione di fzf su Linux

1. Installazione tramite il gestore di pacchetti

Su Ubuntu/Debian:

sudo apt update
sudo apt install fzf

Su Arch Linux / Manjaro:

sudo pacman -S fzf

Su Fedora:

sudo dnf install fzf

2. Installazione da GitHub (consigliata per le ultime funzionalità)

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

Lo script di installazione chiederà se si vogliono abilitare le estensioni utili della shell (keybindings e autocompletamento): rispondere affermativamente per ottenere il massimo da fzf. Dopo l’installazione, riavviare la shell o utilizzare il profilo aggiornato.

Casi d’uso principali di fzf

1. Ricerca di file

fzf

Eseguendolo in una directory, si ottiene immediatamente un elenco interattivo di tutti i file e le directory. Iniziare a digitare per filtrare in tempo reale.

2. Integrazione con find

find . -tipo f | fzf

3. Utilizzare con rg (ripgrep)

rg --files | fzf

4. Ricerca nella cronologia dei comandi

storia | fzf

5. Integrazione di Git

git log --oneline | fzf

È anche possibile eseguire il checkout dei rami in questo modo:

git checkout $(git branch | fzf)

Collegamenti e scorciatoie personalizzate

Durante il processo di installazione, se si è optato per le combinazioni di tasti, si possono fare cose come:

  • Ctrl-T: Incolla i percorsi dei file selezionati nella posizione del cursore
  • Ctrl-R: ricerca ed esecuzione dalla cronologia dei comandi
  • Alt-C: Cambiare directory in modo interattivo
  • Queste scorciatoie possono ridurre significativamente il tempo dedicato alla navigazione dei file o al richiamo dei comandi.

Personalizzazione di fzf

È possibile modificare l’aspetto e il comportamento di fzf utilizzando le variabili d’ambiente nel file .bashrc o .zshrc:

export FZF_DEFAULT_OPTS="
--altezza 40%
--layout=inverso
--bordo
--preview 'bat --style=numbers --color=always --line-range :500 {}'
"

In questo modo si ottiene una bella interfaccia paginata con supporto dell’anteprima tramite bat.

Potenti integrazioni

È possibile abbinare fzf a strumenti come:

  • tmux: per aprire le selezioni in nuovi riquadri/finestre

  • fd o rg: per una più rapida individuazione dei file

  • nnn, lf o ranger: gestori di file per terminali

fzf non si limita a un uso semplice: la sua vera potenza emerge quando viene collegato e composto con altri strumenti Unix.