はじめに
ターミナルでのディレクトリ移動は、開発中に何度も繰り返す基本操作です。
一般的には cd コマンドを使いますが、移動先のパスを毎回入力するのは手間がかかります。そこで私は、主に zoxide の z と zi、必要に応じて yazi の y を使っています。
普段は zi でプロジェクトへ移動して nvim . を開き、その後のファイル操作は Neovim 内で完結させることがほとんどです。yazi は、移動先がはっきりしないときや、複数のプロジェクトをまたいでファイルを眺めたいときに補助的に利用しています。
z・zi・y の使い分け
y と z に特別な意味はありませんが、アルファベット順で c と d のように連続しているため、cd の代替として覚えやすい組み合わせです。
以下のツールを状況に応じて利用します。
zoxide を使ったディレクトリ移動
zoxide は、頻繁に使うディレクトリを自動的に記憶し、効率的なディレクトリ移動を可能にするツールです。
cd の代わりに z コマンドを使うことで、長いパスを入力せずに目的のディレクトリへ移動できます。
z コマンド
例えば、~/long/path/to/project に移動したい場合、cd ~/long/path/to/project と毎回入力するのは面倒です。
そこで z project を使えば、簡単に目的のディレクトリへ移動できます。
z project
移動先の名前を覚えている場合は、z を使うのが最も手軽です。
zi コマンド(zoxide + fzf)
zi を使うと、zoxide に記憶されたディレクトリを fzf で対話的に選択して移動できます。
移動先の名前を正確に覚えていなくても、候補を眺めながら絞り込める点が便利です。
zi
Esc または Ctrl+C で選択を中止できます。
私は、プロジェクトを開くときに次のような流れをよく使います。
zi
# fzf で移動先を選択する
nvim .
プロジェクトへ移動して Neovim を開いた後は、ファイルの検索や編集をNeovim内で行います。
yazi を使ったファイル操作とディレクトリ移動
yazi は、軽量かつ高速な TUI ファイル管理ツールです。zoxide と連携して利用することもできます。
y コマンド
y コマンドで yazi を開いた後に z キーを押すと、zi コマンドと同様に zoxide の履歴からディレクトリを選択できます。
y
q を押して yazi を終了すると、yazi 内で最後に開いていたディレクトリへ、ターミナルのカレントディレクトリも移動します。
私は y を常に使うわけではありません。主に次のような場面で利用しています。
- 複数のプロジェクトをまたいで、さまざまなファイルの中身を眺めたいとき
- 移動したいディレクトリの名前や場所を忘れてしまったとき
- 移動先がまだ zoxide に記録されていないとき
- ディレクトリ構造を眺めながら移動先を探したいとき
移動先が分かっている場合や、すでに zoxide に記録されている場合は、z や zi を使う方が速いことが多いです。
一方で、移動先そのものが曖昧な場合は、ファイルやディレクトリを視覚的にたどれる y が役立ちます。
おわりに
z、zi、y は、それぞれ得意な場面が異なります。
-
zは、名前を覚えているディレクトリへ素早く移動したいとき -
ziは、zoxide の履歴から移動先を対話的に選びたいとき -
yは、ファイルを眺めながら移動先を探索したいとき
普段の開発では、zi でプロジェクトへ移動して nvim . を開けば、その後の操作は Neovim 内で完結できます。
yazi は、移動先が分からない場合や、プロジェクトをまたいでファイルを確認したい場合に利用する補助的な選択肢です。すべてを一つのツールで行うのではなく、その時点で必要な操作に合わせて使い分けると快適です。
