🦆
YAZI入門:Rust製の高速ターミナルファイルマネージャー
YAZI入門:Rust製の高速ターミナルファイルマネージャー

YAZIロゴ(出典)
はじめに
YAZIは、Rustで書かれた高速なターミナルファイルマネージャーです。非同期I/Oをベースにした設計により、非常に高速なファイル操作が可能です。この記事では、YAZIの基本的な使い方から、実践的な活用方法まで詳しく解説します。
YAZIとは
YAZI(「アヒル」の意味)は、Rustで書かれた非同期I/Oベースのターミナルファイルマネージャーです。従来のファイルマネージャーと比較して、以下の特徴があります:
主な特徴
- 🚀 完全な非同期サポート: すべてのI/O操作が非同期で、CPUタスクは複数のスレッドに分散
- 💪 強力な非同期タスクスケジューリング: リアルタイムの進捗更新、タスクのキャンセル、内部タスクの優先順位付け
- 🖼️ 複数の画像プロトコル対応: Überzug++とChafaの統合により、ほぼすべてのターミナルをサポート
- 🌟 コードハイライトと画像デコード: プリロードメカニズムと組み合わせて、画像と通常ファイルの読み込みを高速化
- 🔌 並行プラグインシステム: UIプラグイン、機能プラグイン、カスタムプレビュー/プリロード/スポッター/フェッチャー
- 📡 データ配信サービス: クライアント-サーバーアーキテクチャをベースに、Luaベースのpub/subモデルを統合
インストール方法
macOSの場合
brew install yazi
Linuxの場合
# Arch Linux
yay -S yazi
# Ubuntu/Debian
sudo apt install yazi
手動インストール
cargo install yazi
基本的な使い方
1. 起動
yazi
2. 基本的なキーバインド
2.1 ナビゲーション
-
j/k: 上下に移動 -
h/l: 親ディレクトリ/子ディレクトリに移動 -
gg/G: 最初/最後のファイルに移動 -
Ctrl+u/d: 半画面上下に移動
2.2 ファイル操作
-
Space: ファイルを選択 -
y: 選択したファイルをコピー -
d: 選択したファイルを削除 -
r: ファイル名を変更 -
Enter: ファイルを開く
2.3 プレビュー
-
p: プレビューパネルを表示/非表示 -
Tab: プレビューパネルにフォーカス -
Shift+Tab: メインパネルにフォーカス
実践的な活用方法
1. カスタマイズ
1.1 設定ファイル
~/.config/yazi/keymap.tomlに以下のような設定を追加:
[keymap]
# カスタムキーバインド
"g" = "go_to_top"
"G" = "go_to_bottom"
"Ctrl+f" = "search"
"Ctrl+r" = "refresh"
1.2 テーマのカスタマイズ
~/.config/yazi/theme.tomlでテーマをカスタマイズ:
[theme]
# カラーテーマの設定
primary = "#61AFEF"
secondary = "#C678DD"
background = "#282C34"
foreground = "#ABB2BF"
2. プラグインの活用
2.1 プラグインのインストール
# プラグインマネージャーのインストール
cargo install yazi-plugin-manager
# プラグインのインストール
yazi-plugin install <plugin-name>
2.2 おすすめプラグイン
-
yazi-fzf: ファジーファインダー統合 -
yazi-preview: 拡張プレビュー機能 -
yazi-git: Git統合
トラブルシューティング
1. よくある問題と解決方法
-
画像プレビューが表示されない場合
- Überzug++またはChafaがインストールされているか確認
- ターミナルの画像サポートを確認
-
キーバインドが効かない場合
- 設定ファイルの構文を確認
- キーの競合がないか確認
-
パフォーマンスの問題
- 非同期I/Oの設定を確認
- システムリソースの使用状況を確認
まとめ
YAZIは、Rustの非同期I/Oを活用した高速なファイルマネージャーです。その柔軟なカスタマイズ性と豊富な機能により、効率的なファイル操作が可能です。
Discussion