Zum Inhalt springen

zoxide - Intelligenterer cd-Ersatz Kurzreferenz

Ein intelligenterer cd-Befehl, der Ihre meistgenutzten Verzeichnisse lernt und Sie mit nur wenigen Tastenanschlägen dorthin springen lässt. Verwendet einen “Frecency”-Algorithmus, der Häufigkeit und Aktualität der Besuche kombiniert.

PlattformBefehl
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 (Alle Plattformen)cargo install zoxide --locked
Condaconda install -c conda-forge zoxide
Nixnix-env -iA nixpkgs.zoxide
Installationsskriptcurl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

Fügen Sie die entsprechende Zeile zu Ihrer Shell-Konfigurationsdatei hinzu:

ShellKonfigurationsdateiHinzuzufügender Befehl
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))
BefehlBeschreibung
z fooZum am höchsten bewerteten Verzeichnis springen, das “foo” entspricht
z foo barZum Verzeichnis springen, das sowohl “foo” als auch “bar” entspricht
z ~/projectsZum exakten Pfad springen (funktioniert wie normales cd)
z ..Ein Verzeichnis nach oben gehen
z -Zum vorherigen Verzeichnis zurückkehren
zi fooInteraktive Auswahl mit fzf (bei mehreren Übereinstimmungen)
ziInteraktive Auswahl aus allen verfolgten Verzeichnissen

zoxide matched Verzeichnispfade nach Schlüsselwörtern. Sie müssen nicht den vollständigen Pfad eingeben:

# Wenn Sie häufig /home/user/projects/my-app besuchen
z my-app      # Springt direkt dorthin
z proj app    # Funktioniert auch (matched beide Wörter im Pfad)
z app         # Funktioniert, wenn es Ihr häufigstes "app"-Verzeichnis ist

Bewertung: Verzeichnisse erhalten Punkte bei Besuch. Aktuelle Besuche erhalten höhere Bewertungen. Ungenutzte Verzeichnisse verfallen mit der Zeit.

BefehlBeschreibung
zoxide add /path/to/dirVerzeichnis manuell zur Datenbank hinzufügen
zoxide remove /path/to/dirVerzeichnis aus der Datenbank entfernen
zoxide editDatenbank in $EDITOR zur manuellen Bearbeitung öffnen
zoxide query fooBeste Übereinstimmung für “foo” anzeigen (ohne zu springen)
zoxide query -lAlle Verzeichnisse in der Datenbank auflisten, nach Bewertung sortiert
zoxide query -l fooAlle Übereinstimmungen für “foo” mit Bewertungen auflisten
zoxide query -ls fooÜbereinstimmungen mit Bewertungen auflisten, nach Bewertung sortiert
zoxide query -i fooInteraktiver Auswahlmodus

Migration von einem anderen Directory Jumper? Importieren Sie Ihre Datenbank:

BefehlBeschreibung
zoxide import --from=autojump /path/to/dbVon autojump importieren
zoxide import --from=z /path/to/dbVon z/z.sh importieren
zoxide import --from=fasd /path/to/dbVon fasd importieren

Standard-Datenbankspeicherorte zum Importieren:

  • autojump: ~/.local/share/autojump/autojump.txt
  • z: ~/.z
  • fasd: ~/.fasd
VariableStandardBeschreibung
_ZO_DATA_DIRPlattformspezifischVerzeichnis zum Speichern der Datenbank
_ZO_ECHO0Gematchtes Verzeichnis vor Navigation ausgeben (1 zum Aktivieren)
_ZO_EXCLUDE_DIRSKeineAuszuschließende Verzeichnisse (durch Doppelpunkt getrennte Pfade)
_ZO_FZF_OPTSKeineBenutzerdefinierte Optionen für fzf im interaktiven Modus
_ZO_MAXAGE10000Maximale Anzahl von Einträgen in der Datenbank
_ZO_RESOLVE_SYMLINKS0Symlinks vor dem Speichern von Pfaden auflösen (1 zum Aktivieren)
OptionBeschreibung
--cmd jBefehlsnamen von z zu j ändern (erstellt j und ji)
--hook promptBewertungen bei jedem Prompt aktualisieren (Standard)
--hook pwdBewertungen nur bei Verzeichniswechsel aktualisieren
--hook noneBewertungen nie automatisch aktualisieren
--no-cmdKeine z und zi Aliase erstellen (verwenden Sie __zoxide_z direkt)
# Beispiel: 'j' statt 'z' verwenden, nur bei Verzeichniswechsel aktualisieren
eval "$(zoxide init bash --cmd j --hook pwd)"
# Home-Verzeichnis und tmp von der Verfolgung ausschließen
export _ZO_EXCLUDE_DIRS="$HOME:/tmp:/private/tmp"
# Benutzerdefinierte fzf-Vorschau verwenden
export _ZO_FZF_OPTS="--preview 'eza -la --icons {2..}' --preview-window=right:40%"
# Zu einem Projektverzeichnis nach Teilnamen springen
z myproject

# Mit mehreren Schlüsselwörtern unterscheiden
z work api          # matched ~/work/projects/api-server

# Interaktiver Modus, wenn Sie sich nicht sicher sind
zi deploy           # öffnet fzf mit allen passenden Verzeichnissen

# Prüfen, was zoxide für die beste Übereinstimmung hält
zoxide query deploy

# Alle verfolgten Verzeichnisse und ihre Bewertungen anzeigen
zoxide query -ls

# Gelöschte Verzeichnisse aus der Datenbank bereinigen
zoxide query -l | while read -r line; do
  dir=$(echo "$line" | awk '{print $2}')
  [ ! -d "$dir" ] && zoxide remove "$dir"
done

Wenn Sie zi verwenden, verwendet zoxide automatisch fzf für die interaktive Auswahl. Stellen Sie sicher, dass fzf dafür installiert ist.

zoxide bietet Tab-Vervollständigungen. Nach der Shell-Integration schlägt das Drücken von Tab nach z passende Verzeichnisse vor.

Funktioncdzoxide (z)
Zum exakten Pfad gehencd /full/pathz /full/path
Teilweises MatchingNeinJa (z proj)
Frecency-BewertungNeinJa
Interaktive AuswahlNeinJa (zi)
Vorheriges Verzeichniscd -z -
LernverhaltenNeinLernt aus Nutzung
Datenbank-ImportN/Aautojump, z, fasd
ProblemLösung
z-Befehl nicht gefundenStellen Sie sicher, dass die Shell-Integrationszeile in Ihrer Shell-Konfiguration ist und starten Sie die Shell neu
Keine Übereinstimmungen gefundenBesuchen Sie Verzeichnisse zuerst mit cd — zoxide lernt mit der Zeit
Falsches Verzeichnis gematchtVerwenden Sie spezifischere Schlüsselwörter: z work api statt z api
Datenbank zu groß_ZO_MAXAGE verringern oder zoxide edit ausführen, um aufzuräumen