🥾

🥾モダンなTUIファイルマネージャー「walk」

2023/09/16に公開

はじめに

本記事で紹介するのは↓のツール「walk」です。

https://github.com/antonmedv/walk

ターミナル上のファイルマネージャーを探していたところ操作感最高なツールを見つけたのでその紹介記事です。

walkに出会う前の筆者の環境

walkに出会う前はターミナル上でディレクトリ移動をする際はfzfとzを組み合わせて利用していました。
この構成はネット上でも多くの方が行っている方法です。

https://qiita.com/kamykn/items/aa9920f07487559c0c7e

↑の記事だとzは利用していないですが、zを利用している場合は移動履歴が多いディレクトリが候補として表示されます。

fzfとzの組み合わせも快適なのですが、ファイル単位の粒度で表示されるのでちょっと視認性が良くないです。
ファイル粒度で表示するようにシェルスクリプトを組んでも良いのですが、もう少し手軽にディレクトリ間を移動したいなと思っていました。

walkの紹介

walkはGo製CLIツールです。冒頭のgif画像の通りモダンな見た目でディレクトリの移動だけではなく、プレビュー、削除、Fuzzy検索などができます。

ディレクトリの移動はvimライクであり普段黒い画面を見ている方であれば慣れ親しんだ方法で扱うことができます。

インストール

brewやsnap、pacmanといろいろなインストール方法を提供しています。
私はgo installでインストールしました。

go install github.com/antonmedv/walk@latest

インストールが完了したら.bashrcもしくは.zshrcなど利用してるシェルに以下を記載します。

function lk {
  cd "$(walk "$@")"
}

これでlkを入力することで起動できるようになり、エスケープ時に指定したディレクトリにcdします。

また、利用するエディタも指定できますので環境変数で設定します。

私はVSCodeを利用しているのでcodeとしています。

export EDITOR=code

設定は以上で完了です。

サポートされている操作は以下の表の通りです。

キー バインディング 説明
矢印、hjkl カーソル移動
Enter ディレクトリに入る
Backspace ディレクトリから出る
Space プレビューをトグル
Esc、q cd で終了
Ctrl+c cd なしで終了
/ ファジー検索
dd ファイルまたはディレクトリを削除
y 現在のディレクトリをヤンク (コピー)

さいごに

操作感が最高であり(ネットで日本語の紹介記事がなかったため)、いち早く多くの方に利用していただきたく記事を書きました。

以上、モダンなターミナルファイルマネージャー「walk」の紹介でした。

Discussion