A smarter cd command that learns your most-used directories for fast navigation across all major shells.
zoxide is a fast and intelligent directory navigation tool for the command line. It replaces the traditional `cd` command by learning which directories you use most frequently, allowing you to jump to them with minimal typing. It solves the problem of navigating deep or frequently accessed directory structures efficiently, using a ranking algorithm based on usage frequency and recency.
Developers, system administrators, and power users who spend significant time in the terminal and want to optimize their directory navigation workflow across various shells and platforms.
Developers choose zoxide for its exceptional speed, cross-shell compatibility, and seamless integration with existing tools. Its smart learning algorithm requires no manual configuration, and it can import data from other directory jumpers, making adoption frictionless.
A smarter cd command. Supports all major shells.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a smart algorithm to rank directories by frequency and recency, allowing jumps with partial names—demonstrated in the tutorial where 'z foo' navigates to the best match without full paths.
Works across Bash, Zsh, Fish, PowerShell, Nushell, and more with simple initialization scripts provided for each, ensuring broad compatibility as listed in the installation section.
Imports history from popular tools like autojump, fasd, and z, with detailed commands for each, easing transition without losing learned directories.
Integrates natively or via plugins with file managers (e.g., ranger, nnn), editors (Vim/Neovim), and launchers (Alfred, Raycast), expanding utility beyond basic shell navigation.
Full interactive features (zi) and tab completions require fzf installation, adding an extra step and potential compatibility issues if fzf is not available or outdated.
Has minimum version requirements for some shells, such as Nushell v0.89.0+ and Elvish v0.18.0+, which may not be met in older or stable system distributions.
Setup involves editing shell config files and managing environment variables (e.g., _ZO_EXCLUDE_DIRS), which can be error-prone for users unfamiliar with shell customization.