📂

cdコマンドを強化する zoxide でターミナル操作を快適にする

に公開

zoxide とは

Linux コマンドcdの改良版。z コマンドで移動したディレクトリを履歴としてデータベースに保存し、頻繁に使用するディレクトリに高速に移動ができるようになる。

例えば、今までcdで次のように移動していたものが、

~
cd path/to/develop/project-name

zoxide インストール後に移動した場合は、データベースに履歴が保存され、次のコマンドだけで移動できる(z pro とかだけでも移動できる)

~
z project-name

zoxide のインストール

homebrew でインストール

brew install zoxide

※別の OS の場合は下記を参照
https://crates.io/crates/zoxide

zi コマンドで履歴からディレクトリをインタラクティブに選択するために fzf も使用するので、インストールしておく

brew install fzf

https://junegunn.github.io/fzf/installation/


zoxide コマンドを Zsh シェルで使えるように、~/.zshrcに記述

~/.zshrc
# zoxide
eval "$(zoxide init zsh)"

bash や powershell などを使用している場合は下記を参考
https://crates.io/crates/zoxide

使い方

基本的にcdの代わりにzを使用するだけ

z developer/nextjs/nextjs-my-app

上記コマンドで一度移動すると、データベースに履歴が保存され、次回移行は次のコマンドだけで移動できるようになる

z my-app

zi コマンド

zi コマンドでは fzf を使って、記憶されたディレクトリの一覧からインタラクティブに選択して移動できる

zi

または、zi nextで next を含むディレクトリを検索することもできる(next の部分は任意)

z - コマンド

直前にいたディレクトリに移動できる

z -

z や zi コマンドのプレフィックスを変更

--cmdをフラッグを使用し~/.zshrcを編集することで、j/ji・cd/cdi などで同じ操作が可能となる

~/.zshrc
# zoxide
eval "$(zoxide init zsh --cmd j)"

もしくは、

~/.zshrc
# zoxide
eval "$(zoxide init zsh --cmd cd)"
GitHubで編集を提案

Discussion