zoxide rende più semplice navigare tra le directory su Linux

  • Categoria dell'articolo:Software
  • Articolo pubblicato:
zoxide ubuntu linux

Chi utilizza frequentemente il terminale sa bene quanto possa essere scomodo digitare ogni volta percorsi lunghi per raggiungere una determinata directory. Il classico comando cd rimane fondamentale, ma quando si lavora quotidianamente con numerose cartelle può essere utile avere uno strumento capace di ricordare le destinazioni utilizzate più spesso.

zoxide nasce proprio con questo obiettivo: è un comando cd più intelligente, ispirato a progetti come z e autojump, che registra le directory visitate e assegna loro un punteggio. In questo modo è possibile raggiungere rapidamente una cartella senza doverne specificare ogni volta il percorso completo.

Il funzionamento è particolarmente intuitivo. Dopo aver visitato alcune directory, è sufficiente utilizzare z seguito da una o più parole contenute nel percorso. Per esempio, z foo cerca la directory più rilevante associata a foo, mentre z foo bar restringe ulteriormente la ricerca considerando entrambe le parole.

zoxide mantiene comunque la semplicità del tradizionale cd. È possibile utilizzarlo anche con percorsi assoluti o relativi, mentre comandi come z .. e z - permettono rispettivamente di salire di livello o tornare alla directory precedente.

Un altro elemento interessante è il sistema di selezione interattiva. Utilizzando zi, zoxide può integrarsi con fzf, il popolare fuzzy finder da terminale, offrendo un’interfaccia attraverso cui scegliere manualmente la directory desiderata.

Il progetto è pensato per funzionare su Linux, WSL, macOS, Windows, BSD e Android e supporta numerose shell, tra cui Bash, Fish, Zsh, Nushell, PowerShell, Elvish, Tcsh e Xonsh.

Come funziona zoxide nel terminale

Uno dei punti di forza di zoxide è la possibilità di adattarsi progressivamente alle abitudini dell’utente. Il database locale tiene traccia delle directory utilizzate, consentendo all’algoritmo di individuare rapidamente la destinazione più probabile.

Alcuni dei comandi più utili sono:

  • z progetto per raggiungere la directory con corrispondenza migliore;
  • z progetto documenti per effettuare una ricerca utilizzando più termini;
  • z ~/progetto per utilizzare un percorso come con cd;
  • z .. per salire alla directory superiore;
  • z - per tornare alla directory precedente;
  • zi progetto per scegliere interattivamente una directory tramite fzf.

È inoltre possibile digitare z seguito da uno spazio e dal tasto Tab per ottenere completamenti interattivi nelle shell compatibili, tra cui Bash 4.4 o versioni successive, Fish e Zsh. Per utilizzare la selezione interattiva è necessario installare fzf, con una versione minima supportata pari alla 0.51.0.

La configurazione passa dal comando zoxide init, che può essere personalizzato attraverso diverse opzioni. Il parametro --cmd permette, per esempio, di cambiare il prefisso dei comandi. Con --cmd j, le funzioni diventano j e ji, mentre è anche possibile utilizzare --cmd cd per sostituire direttamente il comando cd.

Il parametro --hook determina quando viene aggiornato il punteggio delle directory. L’impostazione predefinita utilizza pwd, quindi l’aggiornamento avviene quando cambia la directory. Sono disponibili anche le modalità prompt e none.

zoxide mette a disposizione anche diverse variabili d’ambiente. _ZO_DATA_DIR permette di stabilire dove conservare il database, mentre _ZO_MAXAGE consente di modificare il numero massimo di elementi memorizzati. _ZO_EXCLUDE_DIRS può invece essere utilizzata per escludere specifiche directory dal database.

Integrazione con fzf, editor e file manager

L’utilità di zoxide non si limita ai comandi digitati direttamente nella shell. Il progetto offre numerose integrazioni con applicazioni utilizzate quotidianamente dagli utenti Linux.

Tra gli strumenti compatibili troviamo file manager da terminale come lf, nnn, ranger, superfile, xplr e `yazi. Sono disponibili inoltre integrazioni con Vim e Neovim, compresi strumenti dedicati alla ricerca fuzzy come Telescope.

Anche chi utilizza tmux o Zellij può sfruttare zoxide attraverso integrazioni dedicate con diversi session manager. Il supporto comprende inoltre applicazioni come aerc, felix, joshuto e rfm.

Un aspetto interessante riguarda anche la possibilità di importare database provenienti da strumenti già utilizzati in precedenza. zoxide supporta l’importazione dei dati di atuin, autojump, fasd, z, z.lua e zsh-z, rendendo più semplice il passaggio a questa soluzione senza dover ricominciare completamente da zero.

Per chi utilizza Linux quotidianamente dal terminale, zoxide rappresenta quindi una piccola aggiunta capace di eliminare una serie di operazioni ripetitive. Il suo approccio basato sulla cronologia delle directory rende la navigazione più rapida e naturale, soprattutto quando il numero di progetti e percorsi gestiti cresce nel tempo. Abbiamo testato zoxide su Ubuntu 26.04 LTS (immagine dell’articolo).

Lascia un commento