Skip to content

z-shell/zsh-zoxide

Logo ❮ Plugin - Zsh zoxide ❯

ajeetdsouza/zoxide

The plugin calls zoxide init for Zsh.

zoxide is a smarter cd command, inspired by z and autojump.

Environment variables

Variable Description Default
_ZO_CMD_PREFIX Set variable to preferred prefix Zi: x, other: z
_ZO_DATA_DIR Directory in which the database is stored Zi: $ZPFX/share, other: none

All environment variables: ajeetdsouza/zoxide#environment-variables

Eval-cache options

Before setting the environment variables, you must declare the associative array:

typeset -A ZEC

Set the following environment variables to change the default behavior:

Variable Description Default
ZEC[DISABLED] Disable eval-caching 0
ZEC[DEBUG] Enable debug mode for eval-caching 0
ZEC[MAX] Maximum number to load from cache (until force refresh) 1000

Eval-cache files are stored in ${Plugins[ZSH_ZOXIDE]}/._zoxide/* directory.

Install zoxide

zi ice as'null' from"gh-r" sbin
zi light ajeetdsouza/zoxide

Wiki: install fzf command-line fuzzy finder as Zi package.

Install zsh-zoxide

Note:

  • the alternative for zsh-zoxide is 🌀 eval annex.
  • To forcefully set z function include atinit'z(){ __zoxide_z "$@"; }' when installing with Zi (#37).
zi ice has'zoxide'
zi light z-shell/zsh-zoxide
zi has'zoxide' light-mode for \
  z-shell/zsh-zoxide

Turbo mode + "For" syntax

zi has'zoxide' wait lucid for \
  z-shell/zsh-zoxide

Wiki: automatic, condition based (loading/unloading)

After loading the plugin – shows profiling results and then unloads zsh/zprof

zi ice has'zoxide' atinit'zmodload zsh/zprof' \
  atload'zprof | head -n 20; zmodload -u zsh/zprof'
zi light z-shell/zsh-zoxide

Environment variables and usage with Zi

The plugin will call zoxide init with prefixed commands x, xi:

x foo              # cd into highest ranked directory matching foo
x foo bar          # cd into highest ranked directory matching foo and bar
x foo /            # cd into a subdirectory starting with foo
x ~/foo            # x also works like a regular cd command
x foo/             # cd into relative path
x ..               # cd one level up
x -                # cd into the previous directory
xi foo             # cd with interactive selection (using fzf)
x foo<SPACE><TAB>  # show interactive completions

Environment variables and usage with other plugin managers

The plugin will call zoxide init with prefixed commands z, and zi.