zoxide

crates.io

A cd command that learns your habits

Introduction

zoxide is a new cd alternative 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.

Examples

```sh z foo # cd to top directory matching foo z foo bar # cd to top directory matching foo and bar

z foo/ # can also cd into actual directories

zi foo # cd with interactive selection using fzf

zq foo # echo the best match, don't cd

za /foo # add /foo to the database zr /foo # remove /foo from the database ```

Getting started

Installing zoxide

If you have Rust, this should be as simple as:

sh cargo install zoxide

Otherwise, try the install script:

sh curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/ajeetdsouza/zoxide/master/install.sh | sh

If you want the interactive fuzzy selection feature, you will also need to install fzf.

Adding zoxide to your shell

zsh

If you use a package manager, installation should be as simple as adding ajeetdsouza/zoxide to your configuration. If you'd rather not use a package manager, simple include the following in your .zshrc:

```sh zoxideprecmd() { zoxide add }

precmdfunctions+=zoxide_precmd

z() { if [ $# -ne 0 ]; then ZRESULT=$(zoxide query "$@") case $ZRESULT in "query: "*) cd "${ZRESULT:7}" ;; *) echo "${ZRESULT}" ;; esac fi }

alias zi="z -i"

alias za="zoxide add" alias zq="zoxide query" alias zr="zoxide remove" ```

Configuration

Environment variables