mcpField
Y
Yazi

Yazi

公式おすすめ
github.com開発ツール43.1kyazi今日更新
リポジトリ公式サイト

Yazi について

Yazi は非同期 I/O に対応した最新のコンソールファイルマネージャーです。画像、動画、コード、アーカイブなど多くのファイル形式の豊かなプレビューと、プラグインによる機能拡張をサポートしています。

主な機能

  1. 01ファイルリストとプレビューを非同期に読み込んでスムーズな操作を実現
  2. 02画像、動画、コードファイル、アーカイブ内容をターミナルでプレビュー
  3. 03プラグインで機能を拡張してワークフローをカスタマイズ
  4. 04ドラッグ&ドロップ、ブックマーク、セッション復元に対応

活用シーン

  1. 01大量のファイル処理や低速ファイルシステムでもレスポンスを維持
  2. 02様々なファイル形式を素早くプレビューしてから操作を実行
  3. 03プラグインによるカスタムファイル処理やワークフロー自動化を実装

インストール

OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。

$
brew install yazi ffmpeg sevenzip jq poppler fd ripgrep fzf zoxide imagemagick

インストール後にyazi --versionを実行して確認します。

コマンド例

よく使うコマンドを使う順に並べています。

01
yazi

詳細

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 は現在活発に開発中であり、破壊的な変更が発生する可能性があります。

ドキュメント

ディスカッション

画像プレビュー

プラットフォームプロトコルサポート
kitty (>= 0.28.0)Kitty unicode placeholders✅ 組み込み
iTerm2Inline images protocol✅ 組み込み
WezTermInline images protocol✅ 組み込み
KonsoleKitty old protocol✅ 組み込み
footSixel graphics format✅ 組み込み
GhosttyKitty unicode placeholders✅ 組み込み
Windows Terminal (>= v1.22.10352.0)Sixel graphics format✅ 組み込み
st-graphicsKitty unicode placeholders✅ 組み込み
Warp (macOS/Linux only)Inline images protocol✅ 組み込み
TabbyInline images protocol✅ 組み込み
VSCodeInline images protocol✅ 組み込み
Rio (>= 0.3.9)Kitty unicode placeholders✅ 組み込み
Black BoxSixel graphics format✅ 組み込み
BobcatInline images protocol✅ 組み込み
X11 / WaylandWindow system protocol☑️ Überzug++ が必要です
FallbackASCII art (Unicode block)☑️ Chafa が必要です (>= 1.16.0)

詳細は https://yazi-rs.github.io/docs/image-preview をご覧ください。

謝辞

RustRover logo

Yazi のメンテナンスを支援するためにオープンソースライセンスを提供してくださった RustRover チームに感謝します。

アクティブなコードコントリビューターは @sxyazi に連絡してライセンスを取得できます(まだ残っている場合)。

ライセンス

Yazi は MIT ライセンスです。詳細については LICENSE ファイルをご確認ください。

コメント