
zoxide - Smart cd Command | Install & Fix Guide
zoxide(ゾキサイド)はターミナルなどで使われるディレクトリ移動コマンドの cd を、より便利で高速にした進化系ツールになります。
一度訪問したディレクトリの履歴と使用頻度を自動的に学習し、パスの一部を入力するだけで目的のフォルダへ一瞬でジャンプできるようにします。
zoxideの詳細は一旦置いといて、インストールと実行を行ってみます。
※当記事ではラズベリーパイOS(Debian系Linux)を例にして話を進めます。
zoxideを利用するにはfzfが必要ですので、fuzzy finderのfzfのインストールを参考にしてfzfをインストールします。
fzfのインストール後に下記のコマンドでzoxideをインストールします。
$ sudo apt install zoxide
利用中のシェルがbashの場合、
$ micro ~/.bashrc
~/.bashrcの末尾に下記を追加
eval "$(zoxide init bash)"
ファイルを保存後に下記のコマンドで.bashrcを再読み込みします。
$ source ~/.bashrc
利用中のシェルがzshの場合、
$ micro ~/.zshrc
~/.zshrcの末尾に下記を追加
eval "$(zoxide init zsh)"
ファイルを保存後に下記のコマンドで.zshrcを再読み込みします。
$ source ~/.zshrc
zoxideは cd のようにディレクトリを移動する事が出来、
$ z workspace
のように z のコマンドの後に移動したいディレクトリ名を指定すれば良いです。
z でディレクトリを移動することで、zoxideは操作の傾向を学習していき、zi コマンドを実行することで

よく行くディレクトリ順に表示され、選択することも可能です。
zi は fzf を利用しているので、
$ zi ディレクトリ名の一部
を実行することで、

ディレクトリの候補を絞り込んで表示することも可能です。
自身のパソコンにzoxideを入れてもうっかり cd を使ってしまうという事があります。
そんな時は cd コマンドをzoxide化します。
利用中のシェルがbashの時は、.bashrcに挿入した
eval "$(zoxide init bash)"
を
eval "$(zoxide init --cmd cd bash)"
に変更して、
$ source ~/.bashrc
を実行します。
利用中のシェルがzshの時は、.zshrcに挿入した
eval "$(zoxide init zsh)"
を
eval "$(zoxide init --cmd cd zsh)"
に変更して、
$ source ~/.zshrc
を実行します。
これで cd でディレクトリを移動してもzoxideで行動を記録するようになります。

zi コマンドと同じコマンドとして、cdi が追加されます。