关于 Yazi
Yazi 是一个使用异步 I/O 的现代控制台文件管理器,提供快速响应式的文件操作。支持图像、视频、代码等多种文件类型的丰富预览,以及通过插件扩展功能。
主要功能
- 01异步加载文件列表和预览,保持流畅的用户界面
- 02预览图像、视频、代码文件和档案内容
- 03通过插件系统扩展功能和自定义工作流
- 04支持拖放操作、书签和会话恢复
适用场景
- 01处理大量文件或访问慢速文件系统时保持响应迅速
- 02快速预览各种文件类型以确认操作前的内容
- 03通过插件实现特定的文件处理或工作流自动化
安装
选择你的系统或包管理器,复制命令到终端运行。
$
安装完成后运行yazi --version确认安装成功。
命令示例
常用命令按使用顺序排列。
01
详细介绍
Yazi - ⚡️ 极速终端文件管理器
Yazi(意为“鸭子”)是一款用 Rust 编写的终端文件管理器,基于非阻塞异步 I/O。它旨在提供高效、易用且可自定义的文件管理体验。
💡 一篇介绍其内部工作原理的新文章:Yazi 为什么这么快?
- 🚀 全面支持异步:所有 I/O 操作均为异步,CPU 任务分散到多个线程,充分利用可用资源。
- 💪 强大的异步任务调度与管理:提供实时进度更新、任务取消和内部任务优先级分配。
- 🖼️ 内置支持多种图像协议:还集成了 Überzug++ 和 Chafa,几乎涵盖所有终端。
- 🌟 内置代码高亮与图像解码:结合预加载机制,大幅加快图像和普通文件的加载速度。
- 🔌 并发插件系统:UI 插件(可重写大部分 UI)、功能插件、自定义预览器/预加载器/探测器/获取器;只需一些 Lua 代码。
- ☁️ 虚拟文件系统:远程文件管理、自定义 VFS 提供程序、自定义搜索引擎。
- 📡 数据分发服务:基于客户端-服务端架构(无需额外的服务端进程),集成基于 Lua 的发布-订阅模型,实现跨实例通信和状态持久化。
- 📦 包管理器:通过一条命令安装插件和主题并保持更新,也可固定到特定版本。
- 🧰 集成 ripgrep、fd、fzf、zoxide、Rclone
- 💫 类 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-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 | 窗口系统协议 | ☑️ 需要 Überzug++ |
| 回退 | ASCII art(Unicode block) | ☑️ 需要 Chafa(>= 1.16.0) |
详情请见 https://yazi-rs.github.io/docs/image-preview。
特别鸣谢
感谢 RustRover 团队提供开源许可证,支持 Yazi 的维护工作。
活跃的代码贡献者可联系 @sxyazi 获取许可证(如果仍有可用许可证)。
许可证
Yazi 采用 MIT 许可证。更多信息请查看 LICENSE 文件。
评论
支持 Markdown
