zoxideA smarter cd command for your terminal
zoxide is a blazing fast replacement for your cd command, inspired by
z and z.lua. It keeps track of the directories you use most
frequently, and uses a ranking algorithm to navigate to the best match.

z foo # cd into highest ranked directory matching foo
z foo bar # cd into highest ranked directory matching foo and bar
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)
Read more about the matching algorithm here.
zoxidezoxide runs on most major platforms. If your platform isn't listed below,
please open an issue.
curl -sS https://webinstall.dev/zoxide | bash
curl.exe -A "MS" https://webinstall.dev/zoxide | powershell
zoxide to your shellTo start using zoxide, add it to your shell.
basheval "$(zoxide init bash)"
elvisheval (zoxide init elvish | slurp)
fishzoxide init fish | source
nushellstartup = ["zoxide init nushell --hook prompt | save ~/.zoxide.nu", "source ~/.zoxide.nu"]
powershellInvoke-Expression (& {
$hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' }
(zoxide init --hook $hook powershell) -join "`n"
})
xonshexecx($(zoxide init xonsh), 'exec', __xonsh__.ctx, filename='zoxide')
zsheval "$(zoxide init zsh)"
eval "$(zoxide init posix --hook prompt)"
fzf (optional)fzf is a command-line fuzzy finder, used by zoxide for interactive
selection. It can be installed from here.
If you currently use any of the following utilities, you may want to import
your data into zoxide:
autojumpzoxide import --from autojump path/to/db
z, z.lua, or zsh-zzoxide import --from z path/to/db
When calling zoxide init, the following flags are available:
--cmdz, zi).--cmd j would change the aliases to j and ji respectively.--hook <HOOK>zoxide increments a directory's score:none | Never |prompt | At every shell prompt |pwd | Whenever the directory is changed |--no-aliasesz, zi).__zoxide_z and__zoxide_zi, should you choose to redefine them.Be sure to set these before calling zoxide init.
_ZO_DATA_DIRzoxide should store its database.$XDG_DATA_HOME or $HOME/.local/share | /home/alice/.local/share |$HOME/Library/Application Support | /Users/Alice/Library/Application Support |{FOLDERID_RoamingAppData} | C:\Users\Alice\AppData\Roaming |_ZO_ECHO1, z will print the matched directory before navigating to_ZO_EXCLUDE_DIRS: | $HOME:$HOME/private/* |; | $HOME;$HOME/private/* |"$HOME"._ZO_FZF_OPTSfzf. See man fzf for the list of_ZO_MAXAGE10000._ZO_RESOLVE_SYMLINKS1, z will resolve symlinks before adding directories to theemacs. You can use zoxide for navigation with thezoxide.el plugin.nnn is a terminal file manager. You can use zoxide for navigationautojump plugin.ranger is a terminal file manager. You can use zoxide forranger-zoxide plugin.telescope.nvim is a fuzzy finder for neovim. You canzoxide via the telescope-zoxide plugin.vim / neovim. You can use zoxide for navigation withzoxide.vim plugin.xxh transports your shell configuration over SSH. You can usezoxide over SSH via the xxh-plugin-prerun-zoxide plugin.zsh-autocomplete adds realtime completions to zsh. Itzoxide out of the box.