ITADN
sxyazi/yazi
sxyazi/yazi · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Yazi - ⚡️ 极速终端文件管理器

Yazi(意为“鸭子”)是一款用 Rust 编写的终端文件管理器,基于非阻塞异步 I/O。它旨在提供高效、用户友好且可定制的文件管理体验。

💡 一篇解释其内部工作原理的新文章:为什么 Yazi 这么快?

  • 🚀 全异步支持:所有 I/O 操作均为异步,CPU 任务分布在多个线程上,充分利用可用资源。
  • 💪 强大的异步任务调度与管理:提供实时进度更新、任务取消以及内部任务优先级分配。
  • 🖼️ 内置多种图像协议支持:同时集成 Überzug++ 和 Chafa,覆盖几乎所有终端。
  • 🌟 内置代码高亮和图像解码:结合预加载机制,极大加速图像和普通文件的加载。
  • 🔌 并发插件系统:UI 插件(重写大部分 UI)、功能插件、自定义 previewer/preloader/spotter/fetcher;只需几段 Lua 代码。
  • ☁️ 虚拟文件系统:远程文件管理、自定义 VFS 提供者、自定义搜索引擎。
  • 📡 数据分发服务:基于客户端-服务器架构(无需额外的服务器进程),集成基于 Lua 的发布-订阅模型,实现跨实例通信和状态持久化。
  • 📦 包管理器:通过一条命令安装插件和主题,保持其最新状态,或将其固定到特定版本。
  • 🧰 集成 ripgrep、fd、fzf、zoxide
  • 💫 类 Vim 的输入/选择/确认/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 with Sixel patchSixel graphics format✅ 内置
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 / Wayland窗口系统协议☑️ 需要 Überzug++
回退方案ASCII art (Unicode block)☑️ 需要 Chafa (>= 1.16.0)

详见 https://yazi-rs.github.io/docs/image-preview。

特别鸣谢

RustRover logo

感谢 RustRover 团队提供开源许可证,以支持 Yazi 的维护。

活跃的代码贡献者可以联系 @sxyazi 获取许可证(如果仍有剩余)。

许可证

Yazi 采用 MIT 许可证。更多信息请查看 LICENSE 文件。