Assembly Line

Instead of cd: zoxide

Add zoxide and use z instead of cd for directories you visit often. zoxide remembers where you go and jumps there from a fragment of the name, so z proj replaces a long relative path. You keep cd for exact paths.

Old cd gnu.org
Instead zoxide ★ 40k MIT Rust Pushed 4 days ago github.com

Both are for moving between directories in a shell.

Why zoxide is better

  • It ranks directories by how often and how recently you use them, then jumps to the best match for a few typed characters.
  • zi opens an interactive picker through fzf when several directories match.
  • Ordinary paths behave as with cd, so z .. and z - work as expected.
  • It works in Bash, Zsh, fish, Nushell and PowerShell, including Git Bash and MSYS2 on Windows.
  • It can import history from autojump, fasd, z, z.lua and zsh-z, so you do not start from zero.

When to keep cd

cd stays as the shell built-in and is what scripts use. zoxide is an interactive convenience; it never belongs in a script, because its answer depends on your personal history.

Switching

Install the binary and add one init line to your shell config, such as eval "$(zoxide init bash)". Use z for jumps and keep cd for exact paths, or pass --cmd cd to replace cd itself. Import an older jumper's database with zoxide import.

Watch out

A fuzzy match can land you in the wrong directory when two names are similar, so check the prompt. Replacing cd with --cmd cd can confuse people sharing your terminal. The data file is a record of where you have been on disk.

More newer, better command-line tools

Sources

Judged on 2026-11-06. See every command-line tools, or all 66 replacements.