CLIツール
sxyazi/yazi avatar
sxyazi/yazi

Yaziは端末中心のファイル操作をどう組み立てるのか

💥 Rust で書かれた、非同期 I/O に基づいた超高速ターミナル ファイル マネージャー。

スター 42,202フォーク 1,018RustMIT

ひと目でわかる

これは何?
sxyazi/yaziのREADMEをもとに、Rust製の非同期I/O、画像プレビュー、Lua拡張、公開ベータという前提を導入判断へつなげます。
誰に向いている?
Yaziは、キーボード中心の操作でローカルやリモートのファイルを扱い、端末上でプレビューまで完結させたい利用者に向きます。端末ごとの画像プロトコルと外部ツールの条件、Lua拡張の保守、破壊的変更の可能性を受け入れられることが前提です。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に Rust です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

Rustと非同期I/Oが支える端末操作

YaziはRustで書かれたターミナルファイルマネージャーで、ノンブロッキングの非同期I/Oを基盤にしています。READMEの狙いは、効率的で使いやすく、利用者が調整できるファイル管理体験です。端末からファイルを選び、内容を見て、移動や名前変更を行う作業を一つの流れにまとめたい人には、設計の方向が分かりやすいでしょう。\n\nREADMEは、I/O操作を非同期で処理し、CPUタスクを複数スレッドへ分散すると説明しています。ただし、処理時間や同時実行数のベンチマークは掲載されていません。速さを特徴として掲げていることと、特定の端末やディスクで速いことは同じではないため、自分のファイル構成で判断します。

進捗、キャンセル、優先順位を持つ作業管理

ファイル操作が短い一覧表示だけで終わらない場合、処理の状態が見えるかどうかが使い勝手を左右します。YaziのREADMEには、リアルタイムの進捗更新、タスクのキャンセル、内部タスクの優先順位割り当てを備えた非同期タスクのスケジューリングと管理が記載されています。大量の移動や展開を開始した後に、進み具合を見ながら別の操作をしたい場面を想定した機能です。\n\n一方、スケジューリングアルゴリズム、失敗時の再試行、電源断後の扱いまではREADMEから確認できません。重要なデータを動かす前には、検証用ディレクトリで中断、権限エラー、同名ファイルの扱いを確かめます。進捗が表示されることだけで、処理の原子性や復旧性を推測しないことが必要です。

画像プレビューは端末とプロトコルで決まる

Yaziは複数の画像プロトコルを組み込み、kitty、iTerm2、WezTerm、Konsole、foot、Ghostty、Windows TerminalなどをREADMEの表で案内しています。kittyには0.28.0以降、Windows Terminalには1.22.10352.0以降、Rioには0.3.9以降という条件が示されています。利用する端末の名前だけで判断せず、版とプロトコルを対応表に照らします。\n\nX11やWaylandではÜberzug++が必要とされ、フォールバックではChafaを使ってUnicodeブロックによるASCIIアートを表示します。Chafaには1.16.0以降という条件があります。画像表示を日常の確認手段にするなら、画像形式、リモート接続、フォント、端末の描画差を実物で確認します。READMEの対応表は入口であり、すべての表示条件を保証する試験結果ではありません。

Luaプラグインが操作面を広げる

拡張性の中心はLuaを使った並行プラグインシステムです。UIの大部分を書き換えるUIプラグイン、機能プラグインに加えて、カスタムプレビューア、プリローダー、スポッター、フェッチャーを作れるとREADMEは説明しています。パッケージマネージャーでは、プラグインやテーマを一つのコマンドで導入し、更新するか、特定の版に固定できるとされています。\n\nこの自由度は、自分の操作習慣やファイル形式に合わせる余地になります。その反面、Yazi本体の破壊的変更がプラグインへ影響する可能性があります。導入する拡張の名前、取得元、固定版、設定差分を記録し、更新前に最小構成へ戻せるようにします。READMEにはプラグインAPIの詳細例がないため、拡張を本番作業の前提にするなら公式ドキュメントと実際のソースを確認します。

VFSと外部ツールの組み合わせを切り分ける

Yaziにはリモートファイル管理、カスタムVFSプロバイダー、カスタム検索エンジンのための仮想ファイルシステムがあると記載されています。データ配信サービスはクライアントとサーバーの構成を採り、追加のサーバープロセスなしでLuaベースのパブリッシュ、サブスクライブモデルを統合し、インスタンス間通信と状態の永続化を扱うと説明されています。機能名は広いものの、接続方式と具体的な利用例はREADMEだけでは詳しく分かりません。\n\n外部ツールとしてripgrep、fd、fzf、zoxideとの統合も案内されています。これらが導入済みかどうか、版やPATHが合っているか、欠けた場合にどの機能が縮小するかを端末ごとに確認します。リモート操作や検索を一度に評価せず、ローカル表示、検索、プレビュー、接続先の順で切り分けると、問題の所在を記録しやすくなります。

タブ、選択、Git操作を日常の流れで見る

READMEには、Vim風の入力、選択、確定、通知のコンポーネントと、cdパスの自動補完が挙げられています。マルチタブ、ディレクトリをまたぐ選択、動画、PDF、アーカイブ、コード、ディレクトリのスクロール可能なプレビューも機能一覧に含まれます。一括リネームと作成、アーカイブ展開、ビジュアルモード、ファイル選択、テーマ、マウス操作、ドラッグアンドドロップ、ゴミ箱も対象です。\n\nGit統合とマウントマネージャーは、READMEからプラグインリポジトリへのリンクが案内されています。ここは本体に同梱された機能と、別途導入する拡張を分けて評価する箇所です。操作キーや設定例はREADMEで展開されていないため、普段使う移動、選択、名前変更、削除、復元を実際に行い、誤操作を戻す手順を用意してから日常利用へ進みます。

公開ベータという状態を採用条件に含める

Yaziは公開ベータで、日常のドライバーとして使える一方、活発な開発中で破壊的変更が予想されるとREADMEに明記されています。この二つは矛盾ではありません。個人が変更を追いながら使う余地がある一方、チーム全体の固定手順や長期保守を求める環境では、更新を急がず検証期間を置く必要があります。\n\nインストールと機能の公式ドキュメント、Discord、Telegramへのリンクが用意されています。リリース欄にはnightly、v26.8.15、v26.5.6が示されていますが、採用時は表示された最新版を無条件に選ばず、用途に合うタグを固定します。MITライセンスは利用と改変の検討材料ですが、サポートや安全性の保証ではありません。端末表示、外部ツール、プラグイン、復旧手順をまとめて確認できる場合に、Yaziの導入範囲を決めます。

編集部の結論

Yaziは、キーボード中心の操作でローカルやリモートのファイルを扱い、端末上でプレビューまで完結させたい利用者に向きます。端末ごとの画像プロトコルと外部ツールの条件、Lua拡張の保守、破壊的変更の可能性を受け入れられることが前提です。導入前に実際の端末、依存コマンド、固定するリリースで操作と復旧を確認してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート