💥 Blazing fast terminal file manager written in Rust, based on async I/O.
| Files | Last commit | Last update |
|---|---|---|
| 22 days ago | ||
| 18 days ago | ||
| 5 months ago | ||
| 12 days ago | ||
| 12 days ago | ||
| 18 days ago | ||
| 5 days ago | ||
| 11 days ago | ||
| 5 days ago | ||
| 11 days ago | ||
| 11 days ago | ||
| 11 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 11 days ago | ||
| 11 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 1 month ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 18 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 11 days ago | ||
| 11 days ago | ||
| 19 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 2 years ago | ||
| 1 month ago | ||
| 7 months ago | ||
| 12 days ago | ||
| 5 days ago | ||
| 1 month ago | ||
| 1 year ago | ||
| 3 months ago | ||
| 5 days ago | ||
| 5 days ago | ||
| 2 years ago | ||
| 2 years ago | ||
| 28 days ago | ||
| 5 days ago | ||
| 2 months ago | ||
| 6 months ago | ||
| 13 days ago | ||
| 1 year ago |
Translated by AI, submit an issue feedback
Yazi - ⚡️ 极速终端文件管理器
Yazi(意为“鸭子”)是一款基于 Rust 编写的终端文件管理器,采用非阻塞异步 I/O 架构。它致力于提供高效、易用且高度可定制的文件管理体验。
💡 一篇剖析其内部原理的新文章:Yazi 为何如此之快?
- 🚀 全异步支持:所有 I/O 操作均为异步,CPU 任务分散到多线程上,充分榨取可用资源。
- 💪 强大的异步任务调度与管理:提供实时进度更新、任务取消以及内部任务优先级分配。
- 🖼️ 内置多种图像协议支持:同时集成 Überzug++ 和 Chafa,几乎覆盖所有终端。
- 🌟 内置代码高亮与图片解码:结合预加载机制,大幅加速图片及普通文件的加载速度。
- 🔌 并发插件系统:UI 插件(可重写大部分界面)、功能插件、自定义预览器/预加载器/审查器/抓取器——只需几段 Lua 脚本。
- ☁️ 虚拟文件系统:远程文件管理、自定义 VFS 提供程序、自定义搜索引擎。
- 📡 数据分发服务:基于客户端-服务器架构(无需额外服务器进程),集成 Lua 发布-订阅模型,实现跨实例通信与状态持久化。
- 📦 包管理器:一条命令即可安装插件和主题,保持最新状态,或锁定到特定版本。
- 🧰 集成 ripgrep、fd、fzf、zoxide
- 💫 类 Vim 的输入/选择/确认/菜单/通知组件,支持 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 with Sixel patch | Sixel graphics format | ✅ 内置 |
| 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 | 窗口系统协议 | ☑️ 需要 Überzug++ |
| 兜底方案 | ASCII 艺术(Unicode 块) | ☑️ 需要 Chafa (>= 1.16.0) |
详情请参阅 https://yazi-rs.github.io/docs/image-preview 。
特别鸣谢
感谢 RustRover 团队提供开源许可证,支持 Yazi 的持续维护。
活跃的代码贡献者可联系 @sxyazi 获取许可证(如有剩余)。
许可证
Yazi 采用 MIT 许可证。更多信息请参阅 LICENSE 文件。
Introduction
💥 Blazing fast terminal file manager written in Rust, based on async I/O.
MIT Rust1.53 KCommitsandroidasyncioclicommand-lineconcurrencycross-platformdeveloper-toolsfile-explorerfile-managerfilesystemlinuxmacosneovimproductivityrustterminaltuivimwindows应用
Customize your domain