What is zoxide?
zoxide is a smarter cd command written in Rust by Ajeet D'Souza, inspired by z and autojump. It remembers which directories you use most frequently, so you can "jump" to them in just a few keystrokes. With over 28k GitHub stars, it has revolutionized directory navigation for command-line users worldwide.
β‘ Key Features of zoxide
π§ Smart Learning
Learns your directory usage patterns and ranks them by frequency and recency. The more you visit a directory, the easier it becomes to access.
π Fuzzy Matching
Jump to directories with partial matches. Type just a few characters and zoxide will find the right directory based on your history.
π Universal Shell Support
Works with bash, zsh, fish, PowerShell, Nushell, Elvish, Tcsh, and Xonsh. Consistent experience across all major shells.
π Rich Integrations
Native integration with fzf for interactive selection, plus plugins for Vim, Emacs, file managers, and tmux session managers.
π Data Import
Import existing data from autojump, z, z.lua, fasd, and other directory jumpers. No need to start from scratch.
βοΈ Highly Configurable
Customizable scoring algorithm, exclude patterns, aging settings, and command prefixes. Adapts to your workflow preferences.
π Productivity Benefits
- Save Time: Jump to any directory in 2-3 keystrokes instead of typing full paths
- Reduce Errors: No more typos in long directory paths
- Learn Patterns: Automatically adapts to your most-used directories
- Cross-Session: Remembers directories across terminal sessions
- Interactive Mode: Use with fzf for visual directory selection
apt upgrade keeps you on the latest version.
π¦ Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updateπ There is an always-free mirror. deb-free.griffo.io serves packages free forever β no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries Ghostty, Oh My Posh and Zed; zoxide is not one of them, so the repository above is the only way to get it today β ask and it can be enrolled.
Step 2: Install zoxide
# Install latest zoxide
sudo apt install zoxide
# Verify installation
zoxide --version# Install latest zoxide
apt install zoxide
# Verify installation
zoxide --versionStep 3: Set Up Shell Integration
# For bash users
echo 'eval "$(zoxide init bash)"' >> ~/.bashrc
# For zsh users
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
# For fish users
echo 'zoxide init fish | source' >> ~/.config/fish/config.fish
# Reload shell
source ~/.bashrc # or ~/.zshrcπ― Basic Usage Examples
Smart directory jumping:
# Jump to directory containing "projects"
z projects
# Jump to directory matching "my" and "app"
z my app
# Jump to subdirectory starting with "src"
z src/
# Go back to previous directory
z -
# Interactive selection with fzf
ziTraditional cd still works:
# Regular cd functionality
z ~/Documents
z ../
z /usr/local/bin
# Relative paths
z ./src/componentsAdvanced features:
# Query directories without jumping
zoxide query projects
# Add directory manually
zoxide add /path/to/directory
# Remove directory from database
zoxide remove /path/to/directory
# Import from other tools
zoxide import --from=autojump ~/.local/share/autojump/autojump.txt
zoxide import --from=z ~/.zCustomization:
# Use different command prefix (j instead of z)
eval "$(zoxide init bash --cmd j)"
# Replace cd command entirely
eval "$(zoxide init bash --cmd cd)"
# Echo directory before jumping
export _ZO_ECHO=1
# Exclude certain directories
export _ZO_EXCLUDE_DIRS="$HOME:$HOME/private/*"π Why Choose deb.griffo.io?
- Official Debian: Available but often outdated versions
- Cargo Install: Requires Rust toolchain and compilation
- Install Script: Manual updates and no package management
- deb.griffo.io: Latest version with automatic updates
- β Latest Algorithm: Get newest scoring and matching improvements
- β No Rust Compilation: Pre-built binaries, no toolchain needed
- β Automatic Updates: Packages updated within hours of upstream releases
- β Complete Package: Includes shell integration and documentation
- β Multi-Distribution: Works on Bookworm, Trixie, and Sid
- β Easy Maintenance: Standard apt commands for updates
π¦ Package Build Repository
The Debian packages are automatically built and maintained in this GitHub repository:
- π zoxide-debian - Latest release builds
π Related Packages
Also available from deb.griffo.io:
- fzf Fuzzy Finder - Perfect companion for interactive zoxide selection
- eza - Modern ls replacement for better directory listing
- Yazi File Manager - Integrates with zoxide for smart navigation
π Support This Project
If this repository saves you time and effort, please consider supporting it!