Salta ai contenuti

zoxide - Sostituto Intelligente di cd - Guida Rapida

zoxide - Sostituto Intelligente di cd - Guida Rapida

Sezione intitolata “zoxide - Sostituto Intelligente di cd - Guida Rapida”

Un comando cd più intelligente che impara le tue directory più utilizzate e ti permette di saltare ad esse con solo poche battute di tasti. Usa un algoritmo di “frecency” che combina frequenza e recency delle visite.

PiattaformaComando
macOS (Homebrew)brew install zoxide
Ubuntu/Debiansudo apt install zoxide
Arch Linuxsudo pacman -S zoxide
Fedora/RHELsudo dnf install zoxide
Windows (Winget)winget install ajeetdsouza.zoxide
Windows (Scoop)scoop install zoxide
Windows (Chocolatey)choco install zoxide
Cargo (Tutte le piattaforme)cargo install zoxide --locked
Condaconda install -c conda-forge zoxide
Nixnix-env -iA nixpkgs.zoxide
Script di installazionecurl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

Aggiungi la riga appropriata al tuo file di configurazione della shell:

ShellFile di ConfigurazioneComando da Aggiungere
Bash~/.bashrceval "$(zoxide init bash)"
Zsh~/.zshrceval "$(zoxide init zsh)"
Fish~/.config/fish/config.fishzoxide init fish | source
PowerShellProfileInvoke-Expression (& { (zoxide init powershell | Out-String) })
Elvish~/.elvish/rc.elveval (zoxide init elvish | slurp)
Nushellenv.nuzoxide init nushell | save -f ~/.zoxide.nu
Xonsh~/.xonshrcexecx($(zoxide init xonsh))
ComandoDescrizione
z fooSalta alla directory con ranking più alto che corrisponde a “foo”
z foo barSalta alla directory che corrisponde sia a “foo” che “bar”
z ~/projectsSalta al percorso esatto (funziona come il normale cd)
z ..Sali di una directory
z -Ritorna alla directory precedente
zi fooSelezione interattiva con fzf (quando ci sono corrispondenze multiple)
ziSelezione interattiva da tutte le directory tracciate

zoxide abbina i percorsi delle directory tramite parole chiave. Non è necessario digitare il percorso completo:

# Se visiti frequentemente /home/user/projects/my-app
z my-app      # Salta direttamente lì
z proj app    # Funziona anche (corrisponde a entrambe le parole nel percorso)
z app         # Funziona se è la tua directory "app" più frequente

Punteggio: Le directory ottengono punti quando vengono visitate. Le visite recenti hanno punteggi più alti. Le directory non utilizzate decadono nel tempo.

ComandoDescrizione
zoxide add /path/to/dirAggiungi manualmente una directory al database
zoxide remove /path/to/dirRimuovi una directory dal database
zoxide editApri il database in $EDITOR per modifica manuale
zoxide query fooMostra la migliore corrispondenza per “foo” (senza saltare)
zoxide query -lElenca tutte le directory nel database, ordinate per punteggio
zoxide query -l fooElenca tutte le corrispondenze per “foo” con punteggi
zoxide query -ls fooElenca corrispondenze con punteggi, ordinate per punteggio
zoxide query -i fooModalità di selezione interattiva

Stai migrando da un altro strumento per saltare tra directory? Importa il tuo database:

ComandoDescrizione
zoxide import --from=autojump /path/to/dbImporta da autojump
zoxide import --from=z /path/to/dbImporta da z/z.sh
zoxide import --from=fasd /path/to/dbImporta da fasd

Posizioni predefinite dei database da importare:

  • autojump: ~/.local/share/autojump/autojump.txt
  • z: ~/.z
  • fasd: ~/.fasd
VariabilePredefinitoDescrizione
_ZO_DATA_DIRSpecifico della piattaformaDirectory per memorizzare il database
_ZO_ECHO0Stampa directory corrispondente prima di navigare (1 per abilitare)
_ZO_EXCLUDE_DIRSNessunoDirectory da escludere (percorsi separati da due punti)
_ZO_FZF_OPTSNessunoOpzioni personalizzate passate a fzf in modalità interattiva
_ZO_MAXAGE10000Numero massimo di voci nel database
_ZO_RESOLVE_SYMLINKS0Risolvi symlink prima di memorizzare i percorsi (1 per abilitare)
OpzioneDescrizione
--cmd jCambia nome comando da z a j (crea j e ji)
--hook promptAggiorna punteggi ad ogni prompt (predefinito)
--hook pwdAggiorna punteggi solo quando la directory cambia
--hook noneNon aggiornare mai automaticamente i punteggi
--no-cmdNon creare alias z e zi (usa direttamente __zoxide_z)
# Esempio: usa 'j' invece di 'z', aggiorna solo al cambio directory
eval "$(zoxide init bash --cmd j --hook pwd)"
# Escludi directory home e tmp dal tracciamento
export _ZO_EXCLUDE_DIRS="$HOME:/tmp:/private/tmp"
# Usa anteprima fzf personalizzata
export _ZO_FZF_OPTS="--preview 'eza -la --icons {2..}' --preview-window=right:40%"
# Salta a una directory di progetto per nome parziale
z myproject

# Disambigua con parole chiave multiple
z work api          # corrisponde a ~/work/projects/api-server

# Modalità interattiva quando non sei sicuro
zi deploy           # apre fzf con tutte le directory corrispondenti

# Controlla cosa zoxide pensa sia la migliore corrispondenza
zoxide query deploy

# Vedi tutte le directory tracciate e i loro punteggi
zoxide query -ls

# Pulisci le directory eliminate dal database
zoxide query -l | while read -r line; do
  dir=$(echo "$line" | awk '{print $2}')
  [ ! -d "$dir" ] && zoxide remove "$dir"
done

Quando usi zi, zoxide usa automaticamente fzf per la selezione interattiva. Assicurati che fzf sia installato perché questo funzioni.

zoxide fornisce completamenti tab. Dopo l’integrazione shell, premendo Tab dopo z suggerirà le directory corrispondenti.

Funzionalitàcdzoxide (z)
Vai al percorso esattocd /full/pathz /full/path
Corrispondenza parzialeNoSì (z proj)
Ranking frecencyNo
Selezione interattivaNoSì (zi)
Directory precedentecd -z -
Comportamento appresoNoImpara dall’uso
Importazione databaseN/Dautojump, z, fasd
ProblemaSoluzione
Comando z non trovatoAssicurati che la riga di integrazione shell sia nel tuo file di configurazione shell e riavvia la shell
Nessuna corrispondenza trovataVisita le directory con cd prima — zoxide impara nel tempo
Directory sbagliata abbinataUsa parole chiave più specifiche: z work api invece di z api
Database troppo grandeAbbassa _ZO_MAXAGE o esegui zoxide edit per pulire