Aller au contenu

Aide-Mémoire zoxide - Remplacement Intelligent de cd

Aide-Mémoire zoxide - Remplacement Intelligent de cd

Section intitulée « Aide-Mémoire zoxide - Remplacement Intelligent de cd »

Une commande cd plus intelligente qui apprend vos répertoires les plus utilisés et vous permet d’y accéder avec seulement quelques touches. Utilise un algorithme de “frecency” combinant fréquence et récence des visites.

PlateformeCommande
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 (Toutes plateformes)cargo install zoxide --locked
Condaconda install -c conda-forge zoxide
Nixnix-env -iA nixpkgs.zoxide
Script d’installationcurl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

Ajoutez la ligne appropriée à votre fichier de configuration shell :

ShellFichier de ConfigurationCommande à Ajouter
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))
CommandeDescription
z fooSauter au répertoire le mieux classé correspondant à “foo”
z foo barSauter au répertoire correspondant à la fois à “foo” et “bar”
z ~/projectsSauter au chemin exact (fonctionne comme cd normal)
z ..Remonter d’un répertoire
z -Retourner au répertoire précédent
zi fooSélection interactive avec fzf (quand plusieurs correspondances)
ziSélection interactive parmi tous les répertoires suivis

zoxide fait correspondre les chemins de répertoires par mots-clés. Vous n’avez pas besoin de taper le chemin complet :

# Si vous visitez fréquemment /home/user/projects/my-app
z my-app      # Saute directement là
z proj app    # Fonctionne aussi (correspond aux deux mots dans le chemin)
z app         # Fonctionne si c'est votre répertoire "app" le plus fréquent

Scoring : Les répertoires obtiennent des points lors des visites. Les visites récentes scorent plus haut. Les répertoires non utilisés se dégradent au fil du temps.

CommandeDescription
zoxide add /path/to/dirAjouter manuellement un répertoire à la base de données
zoxide remove /path/to/dirRetirer un répertoire de la base de données
zoxide editOuvrir la base de données dans $EDITOR pour édition manuelle
zoxide query fooAfficher la meilleure correspondance pour “foo” (sans sauter)
zoxide query -lLister tous les répertoires dans la base de données, triés par score
zoxide query -l fooLister toutes les correspondances pour “foo” avec scores
zoxide query -ls fooLister les correspondances avec scores, triées par score
zoxide query -i fooMode de sélection interactive

Vous migrez depuis un autre outil de saut de répertoire ? Importez votre base de données :

CommandeDescription
zoxide import --from=autojump /path/to/dbImporter depuis autojump
zoxide import --from=z /path/to/dbImporter depuis z/z.sh
zoxide import --from=fasd /path/to/dbImporter depuis fasd

Emplacements de base de données par défaut à importer :

  • autojump : ~/.local/share/autojump/autojump.txt
  • z : ~/.z
  • fasd : ~/.fasd
VariableDéfautDescription
_ZO_DATA_DIRSpécifique à la plateformeRépertoire pour stocker la base de données
_ZO_ECHO0Afficher le répertoire correspondant avant navigation (1 pour activer)
_ZO_EXCLUDE_DIRSAucunRépertoires à exclure (chemins séparés par deux-points)
_ZO_FZF_OPTSAucunOptions personnalisées passées à fzf en mode interactif
_ZO_MAXAGE10000Nombre maximum d’entrées dans la base de données
_ZO_RESOLVE_SYMLINKS0Résoudre les liens symboliques avant de stocker les chemins (1 pour activer)
OptionDescription
--cmd jChanger le nom de commande de z à j (crée j et ji)
--hook promptMettre à jour les scores à chaque invite (par défaut)
--hook pwdMettre à jour les scores uniquement lors du changement de répertoire
--hook noneNe jamais mettre à jour automatiquement les scores
--no-cmdNe pas créer les alias z et zi (utiliser __zoxide_z directement)
# Exemple : utiliser 'j' au lieu de 'z', mise à jour uniquement lors du changement de répertoire
eval "$(zoxide init bash --cmd j --hook pwd)"
# Exclure le répertoire home et tmp du suivi
export _ZO_EXCLUDE_DIRS="$HOME:/tmp:/private/tmp"
# Utiliser un aperçu fzf personnalisé
export _ZO_FZF_OPTS="--preview 'eza -la --icons {2..}' --preview-window=right:40%"
# Sauter vers un répertoire de projet par nom partiel
z myproject

# Désambiguïser avec plusieurs mots-clés
z work api          # correspond à ~/work/projects/api-server

# Mode interactif quand vous n'êtes pas sûr
zi deploy           # ouvre fzf avec tous les répertoires correspondants

# Vérifier ce que zoxide pense être la meilleure correspondance
zoxide query deploy

# Voir tous les répertoires suivis et leurs scores
zoxide query -ls

# Nettoyer les répertoires supprimés de la base de données
zoxide query -l | while read -r line; do
  dir=$(echo "$line" | awk '{print $2}')
  [ ! -d "$dir" ] && zoxide remove "$dir"
done

Lorsque vous utilisez zi, zoxide utilise automatiquement fzf pour la sélection interactive. Assurez-vous que fzf est installé pour que cela fonctionne.

zoxide fournit des complétions à la tabulation. Après l’intégration shell, appuyer sur Tab après z suggérera les répertoires correspondants.

Fonctionnalitécdzoxide (z)
Aller au chemin exactcd /full/pathz /full/path
Correspondance partielleNonOui (z proj)
Classement par frecencyNonOui
Sélection interactiveNonOui (zi)
Répertoire précédentcd -z -
Apprentissage du comportementNonApprend de l’utilisation
Importation de base de donnéesN/Aautojump, z, fasd
ProblèmeSolution
Commande z introuvableAssurez-vous que la ligne d’intégration shell est dans votre configuration shell et redémarrez le shell
Aucune correspondance trouvéeVisitez d’abord les répertoires avec cd — zoxide apprend au fil du temps
Mauvais répertoire correspondantUtilisez des mots-clés plus spécifiques : z work api au lieu de z api
Base de données trop volumineuseDiminuer _ZO_MAXAGE ou exécuter zoxide edit pour nettoyer