Zoxide is a smarter cd command, inspired by z and autojump. It remembers which directories you use most frequently, so you can "jump" to them in just a few keystrokes. Zoxide works on all major shells. z foo # cd into highest ranked directory matching foo z foo bar # cd into highest ranked directory matching foo and bar z foo / # cd into a subdirectory starting with foo z ~/foo # z also works like a regular cd command z foo/ # cd into relative path z .. # cd one level up z - # cd into previous directory zi foo # cd with interactive selection (using fzf) z foo # show interactive completions (zoxide v0.8.0+, bash 4.4+/fish/zsh only) Add zoxide to your shell: Bash: Add this to your configuration (usually ~/.bashrc): eval "$(zoxide init bash)" Fish: Add this to your configuration (usually ~/.config/fish/config.fish): zoxide init fish | source Zsh: Add this to your configuration (usually ~/.zshrc): eval "$(zoxide init zsh)" For completions to work, the above line must be added after compinit is called. You may have to rebuild your cache by running rm ~/.zcompdump*; compinit. more data in the github page.