sxyazi/yazi
GitHub: sxyazi/yazi
基于 Rust 异步 I/O 的极速终端文件管理器,提供图片预览、代码高亮、插件扩展等丰富功能。
Stars: 33660 | Forks: 719
特别感谢:
## Yazi - ⚡️ 极速终端文件管理器
Yazi(意为“鸭子”)是一个用 Rust 编写的终端文件管理器,基于非阻塞异步 I/O。它旨在提供高效、用户友好且可定制的文件管理体验。
💡 一篇解释其内部机制的新文章:[Yazi 为什么快?](https://yazi-rs.github.io/blog/why-is-yazi-fast)
- 🚀 **全方位异步支持**:所有 I/O 操作均为异步,CPU 任务分散在多个线程中,充分利用可用资源。
- 💪 **强大的异步任务调度与管理**:提供实时进度更新、任务取消以及内部任务优先级分配。
- 🖼️ **内置多种图片协议支持**:还集成了 Überzug++ 和 Chafa,覆盖几乎所有终端。
- 🌟 **内置代码高亮和图片解码**:结合预加载机制,极大加速了图片和普通文件的加载。
- 🔌 **并发插件系统**:UI 插件(重写大部分 UI)、功能插件、自定义预览器/预加载器/识别器/获取器;只需几行 Lua 代码。
- ☁️ **虚拟文件系统**:远程文件管理,自定义搜索引擎。
- 📡 **数据分发服务**:基于客户端-服务器架构(无需额外服务器进程),集成基于 Lua 的发布-订阅模型,实现跨实例通信和状态持久化。
- 📦 **包管理器**:一键安装插件和主题,保持更新,或固定到特定版本。
- 🧰 集成 ripgrep, fd, fzf, zoxide
- 💫 类 Vim 的输入/选择/确认/which/通知组件,cd 路径自动补全
- 🏷️ 多标签页支持,跨目录选择,可滚动预览(针对视频、PDF、压缩包、代码、目录等)
- 🔄 批量重命名,压缩包解压,可视模式,文件选择器,[Git 集成](https://github.com/yazi-rs/plugins/tree/main/git.yazi),[挂载管理器](https://github.com/yazi-rs/plugins/tree/main/mount.yazi)
- 🎨 主题系统,鼠标支持,回收站,自定义布局,CSI u,OSC 52
- ... 以及更多!
https://github.com/sxyazi/yazi/assets/17523360/92ff23fa-0cd5-4f04-b387-894c12265cc7
## 项目状态
公开测试版,可作为日常主力工具使用。
Yazi 目前正处于密集开发中,预期会有破坏性变更。
## 文档
- 用法:https://yazi-rs.github.io/docs/installation
- 功能:https://yazi-rs.github.io/features
## 讨论
- Discord 服务器(主要以英语交流):https://discord.gg/qfduSdJu
- Telegram 群组(主要以中文交流):https://t.me/yazi_rs
## 图片预览
| 平台 | 协议 | 支持 |
| ---------------------------------------------------------------------------- | -------------------------------------- | ---------------------------------------- |
| [kitty](https://github.com/kovidgoyal/kitty) (>= 0.28.0) | [Kitty unicode placeholders][kgp] | ✅ 内置 |
| [iTerm2](https://iterm2.com) | [Inline images protocol][iip] | ✅ 内置 |
| [WezTerm](https://github.com/wez/wezterm) | [Inline images protocol][iip] | ✅ 内置 |
| [Konsole](https://invent.kde.org/utilities/konsole) | [Kitty old protocol][kgp-old] | ✅ 内置 |
| [foot](https://codeberg.org/dnkl/foot) | [Sixel graphics format][sixel] | ✅ 内置 |
| [Ghostty](https://github.com/ghostty-org/ghostty) | [Kitty unicode placeholders][kgp] | ✅ 内置 |
| [Windows Terminal](https://github.com/microsoft/terminal) (>= v1.22.10352.0) | [Sixel graphics format][sixel] | ✅ 内置 |
| [st with Sixel patch](https://github.com/bakkeby/st-flexipatch) | [Sixel graphics format][sixel] | ✅ 内置 |
| [Warp](https://www.warp.dev) (仅限 macOS/Linux) | [Inline images protocol][iip] | ✅ 内置 |
| [Tabby](https://github.com/Eugeny/tabby) | [Inline images protocol][iip] | ✅ 内置 |
| [VSCode](https://github.com/microsoft/vscode) | [Inline images protocol][iip] | ✅ 内置 |
| [Rio](https://github.com/raphamorim/rio) | [Inline images protocol][iip] | ❌ Rio 渲染图片尺寸不正确 |
| [Black Box](https://gitlab.gnome.org/raggesilver/blackbox) | [Sixel graphics format][sixel] | ✅ 内置 |
| [Bobcat](https://github.com/ismail-yilmaz/Bobcat) | [Inline images protocol][iip] | ✅ 内置 |
| X11 / Wayland | 窗口系统协议 | ☑️ 需要 [Überzug++][ueberzug] |
| 回退 | [ASCII art (Unicode block)][ascii-art] | ☑️ 需要 [Chafa][chafa] (>= 1.16.0) |
详情请参阅 https://yazi-rs.github.io/docs/image-preview。
## 许可证
Yazi 基于 MIT 许可证授权。更多信息请查看 [LICENSE](LICENSE) 文件。
标签:Awesome, CLI, Linux工具, Lua, rizin, Rust, TUI, Vim-like, WiFi技术, 可视化界面, 图片预览, 异步IO, 效率工具, 文件搜索, 文件管理器, 端口探测, 系统管理, 终端工具, 网络流量审计, 资源管理器, 通知系统