Yazi について
Yazi は非同期 I/O に対応した最新のコンソールファイルマネージャーです。画像、動画、コード、アーカイブなど多くのファイル形式の豊かなプレビューと、プラグインによる機能拡張をサポートしています。
主な機能
- 01ファイルリストとプレビューを非同期に読み込んでスムーズな操作を実現
- 02画像、動画、コードファイル、アーカイブ内容をターミナルでプレビュー
- 03プラグインで機能を拡張してワークフローをカスタマイズ
- 04ドラッグ&ドロップ、ブックマーク、セッション復元に対応
活用シーン
- 01大量のファイル処理や低速ファイルシステムでもレスポンスを維持
- 02様々なファイル形式を素早くプレビューしてから操作を実行
- 03プラグインによるカスタムファイル処理やワークフロー自動化を実装
インストール
OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。
$
インストール後にyazi --versionを実行して確認します。
コマンド例
よく使うコマンドを使う順に並べています。
01
詳細
Special thanks to:
![]() Warp, built for coding with multiple AI agents Available for macOS, Linux and Windows |
|---|
Yazi - ⚡️ 超高速ターミナルファイルマネージャー
Yazi(「アヒル」という意味)は、Rust で書かれたターミナルファイルマネージャーで、ノンブロッキングの非同期 I/O をベースにしています。効率的でユーザーフレンドリー、かつカスタマイズ可能なファイル管理体験を提供することを目指しています。
💡 その内部の仕組みを解説した新しい記事:Why is Yazi Fast?
- 🚀 完全な非同期サポート:すべての I/O 操作は非同期で、CPU タスクは複数のスレッドに分散され、利用可能なリソースを最大限に活用します。
- 💪 強力な非同期タスクのスケジューリングと管理:リアルタイムの進捗更新、タスクのキャンセル、内部タスクの優先度割り当てを提供します。
- 🖼️ 複数の画像プロトコルの組み込みサポート:Überzug++ や Chafa とも統合されており、ほぼすべてのターミナルをカバーします。
- 🌟 組み込みのコードハイライトと画像デコード:プリロード機構と組み合わせることで、画像や通常のファイルの読み込みを大幅に高速化します。
- 🔌 並行プラグインシステム:UI プラグイン(UI の大部分を書き換え可能)、機能プラグイン、カスタムプレビューア/プリローダー/スポッター/フェッチャー。すべて Lua を少し書くだけです。
- ☁️ 仮想ファイルシステム:リモートファイル管理、カスタム VFS プロバイダー、カスタム検索エンジン。
- 📡 データ配信サービス:クライアントサーバーアーキテクチャをベースにし(追加のサーバープロセスは不要)、Lua ベースの pub/sub モデルと統合されており、インスタンス間の通信と状態の永続化を実現します。
- 📦 パッケージマネージャー:コマンド1つでプラグインやテーマをインストールし、最新の状態に保ったり、特定のバージョンに固定したりできます。
- 🧰 ripgrep、fd、fzf、zoxide、Rclone との統合
- 💫 Vim ライクな input/pick/confirm/which/notify コンポーネント、cd パスの自動補完
- 🏷️ マルチタブサポート、ディレクトリをまたぐ選択、スクロール可能なプレビュー(動画、PDF、アーカイブ、コード、ディレクトリなどに対応)
- 🔄 一括リネーム/作成、アーカイブの展開、ビジュアルモード、ファイルチューザー、Git 統合、マウントマネージャー
- 🎨 テーマシステム、マウスサポート、ドラッグアンドドロップ、ゴミ箱、カスタムレイアウト、CSI u、OSC 52、CSI 2031
- ... などなど!
https://github.com/sxyazi/yazi/assets/17523360/92ff23fa-0cd5-4f04-b387-894c12265cc7
プロジェクトの状況
パブリックベータであり、日常的に使用できます。
Yazi は現在活発に開発中であり、破壊的な変更が発生する可能性があります。
ドキュメント
ディスカッション
- Discord サーバー(主に英語):https://discord.gg/qfADduSdJu
- Telegram グループ(主に中国語):https://t.me/yazi_rs
画像プレビュー
| プラットフォーム | プロトコル | サポート |
|---|---|---|
| kitty (>= 0.28.0) | Kitty unicode placeholders | ✅ 組み込み |
| iTerm2 | Inline images protocol | ✅ 組み込み |
| WezTerm | Inline images protocol | ✅ 組み込み |
| Konsole | Kitty old protocol | ✅ 組み込み |
| foot | Sixel graphics format | ✅ 組み込み |
| Ghostty | Kitty unicode placeholders | ✅ 組み込み |
| Windows Terminal (>= v1.22.10352.0) | Sixel graphics format | ✅ 組み込み |
| st-graphics | Kitty unicode placeholders | ✅ 組み込み |
| Warp (macOS/Linux only) | Inline images protocol | ✅ 組み込み |
| Tabby | Inline images protocol | ✅ 組み込み |
| VSCode | Inline images protocol | ✅ 組み込み |
| Rio (>= 0.3.9) | Kitty unicode placeholders | ✅ 組み込み |
| Black Box | Sixel graphics format | ✅ 組み込み |
| Bobcat | Inline images protocol | ✅ 組み込み |
| X11 / Wayland | Window system protocol | ☑️ Überzug++ が必要です |
| Fallback | ASCII art (Unicode block) | ☑️ Chafa が必要です (>= 1.16.0) |
詳細は https://yazi-rs.github.io/docs/image-preview をご覧ください。
謝辞
Yazi のメンテナンスを支援するためにオープンソースライセンスを提供してくださった RustRover チームに感謝します。
アクティブなコードコントリビューターは @sxyazi に連絡してライセンスを取得できます(まだ残っている場合)。
ライセンス
Yazi は MIT ライセンスです。詳細については LICENSE ファイルをご確認ください。
コメント
Markdown 対応
