Linuxメモ : Rust製のzoxideで利用頻度の高いディレクトリに高速移動
zoxide
Rust製のzoxide
は利用頻度の高いディレクトリに高速移動できるコマンドラインツール。
zやautojumpなどと同様なツール。
インストール
README.mdのインストール方法によると、バイナリのダウンロードやcargo
でインストールできる。
また、fzf
と連携できるのでfzf
もインストールしておくとよい。
$ cargo install zoxide
次にshellに応じて設定を追加する。zshの場合は~/.zshrc
に下記行を追加する。
これでz
やzi
といったコマンドが使えるようになる。
eval "$(zoxide init zsh)"
ヘルプメッセージ。
$ zoxide --help zoxide 0.3.0 A cd command that learns your habits USAGE: zoxide <SUBCOMMAND> FLAGS: -h, --help Prints help information -V, --version Prints version information SUBCOMMANDS: add Add a new directory or increment its rank help Prints this message or the help of the given subcommand(s) import Import from z database init Generates shell configuration query Search for a directory remove Remove a directory
使い方
基本的な使い方は以下のとおり。
z foo # cd to highest ranked directory matching foo z foo bar # cd to highest ranked 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
まずは、インストールした後で普段通りにcd
(またはz foo/
のように移動)でディレクトリを移動して履歴を蓄積していく。
履歴が蓄積された後でzi
を実行すると移動履歴をもとに利用頻度の高い順にディレクトリが表示される。
fzf
と連携しているので絞り込んでEnter
を押すとそのディレクトリに移動できる。
インタラクティブな選択が不要であれば、z foo bar
のように実行することで利用頻度の高いマッチするディレクトリに直接移動できる。
もし、履歴にはあるが移動したくないディレクトリがあればzr foo
のようにすることで履歴から削除できる。
類似ツール
類似ツールとしては下記がある。