返回目录
开源项目系统与运维类新手

Yazi:基于 Rust 异步 I/O 的极速终端文件管理器

Yazi 是一款用 Rust 编写、基于非阻塞异步 I/O 的终端文件管理器,目标是提供高效、易用且可定制的文件管理体验。它支持全异步 I/O、多线程 CPU 任务、内置多终端图像协议预览、Lua 并发插件系统、虚拟文件系统、包管理器,并与 ripgrep、fd、fzf、zoxide 集成。项目采用 MIT 许可证,目前处于公开测试(public beta)阶段,可作为日常使用工具,但仍在密集开发中,可能引入破坏性变更。

0 次阅读2026/09/10 发布
Yazi:基于 Rust 异步 I/O 的极速终端文件管理器 来源图片

社区作者 · zZz

它解决什么问题

Yazi(意为“鸭子”)是一个用 Rust 编写的终端文件管理器,基于非阻塞异步 I/O,追求高效、友好且可定制的文件管理体验。项目方另有一篇名为《Why is Yazi Fast?》的文章解释其内部工作原理。

核心特性:

  1. 全面异步支持:所有 I/O 操作均为异步,CPU 任务分散到多线程执行,充分利用可用资源。
  1. 强大的异步任务调度与管理:提供实时进度更新、任务取消以及内部任务优先级分配。
  1. 内置多种图像协议支持:同时集成 Überzug++ 与 Chafa,几乎覆盖所有终端。
  1. 内置代码高亮与图像解码:结合预加载机制,大幅加快图像与普通文件的加载速度。
  1. 并发插件系统:支持 UI 插件(可重写大部分界面)、功能插件,以及自定义 previewer/preloader/spotter/fetcher,均只需少量 Lua 代码。
  1. 虚拟文件系统(VFS):支持远程文件管理、自定义 VFS 提供方、自定义搜索引擎。
  1. 数据分发服务:基于客户端-服务器架构(无需额外启动服务进程),集成基于 Lua 的发布-订阅模型,实现跨实例通信与状态持久化。
  1. 包管理器:一条命令即可安装插件与主题,并保持更新,或将其固定到特定版本。
  1. 与 ripgrep、fd、fzf、zoxide 集成。

步骤 10 · 类 Vim 的输入/选择/确认/which/通知组件,

可复制命令
cd 路径自动补全

  1. 多标签页支持、跨目录选择、可滚动预览(视频、PDF、压缩包、代码、目录等)。
  1. 批量重命名/创建、压缩包解压、可视化模式、文件选择器、Git 集成、挂载管理器。
  1. 主题系统、鼠标支持、拖放、回收站、自定义布局、CSI u、OSC 52、CSI 2031。

图像预览支持矩阵(来源正文明确列出):

  • 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):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:Window system protocol,需要 Überzug++。
  • Fallback(回退方案):ASCII art(Unicode block),需要 Chafa(>= 1.16.0)。

项目状态:公开测试(Public beta),可作为日常主力工具使用;但 Yazi 目前处于密集开发阶段,预计会出现破坏性变更。

文档与社区:

  • 用法/安装文档:https://yazi-rs.github.io/docs/installation
  • 功能特性说明:https://yazi-rs.github.io/features
  • Discord 服务器(主要英语):https://discord.gg/qfADduSdJu
  • Telegram 群组(主要中文):https://t.me/yazi_rs

特别致谢:RustRover 团队为 Yazi 的维护提供开源许可证支持;活跃的代码贡献者可联系 @sxyazi 获取许可证(如仍有剩余)。配图 1 为 Warp 赞助横幅,配图 2 为 RustRover 标识。来源页面还嵌入了一段演示视频(example.mp4),用于展示使用过程,但正文未给出任何视频生成提示词。

许可证:Yazi 采用 MIT 许可证,详情见仓库中的 LICENSE 文件。

适用对象:习惯终端工作流的开发者、运维人员、命令行重度用户,以及需要跨终端图像预览、批量文件操作、远程文件管理与可插件化扩展的高级用户。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

来源正文未直接给出可复制的安装命令,仅给出官方安装文档地址:https://yazi-rs.github.io/docs/installation(功能说明见 https://yazi-rs.github.io/features)。以下为来源正文可明确确认的准备与使用要点,未明确的部分标注“待核验”:

  1. 确认使用环境:需要一个支持的终端。来源列出内置支持图像预览的终端包括 kitty(>= 0.28.0)、iTerm2、WezTerm、Konsole、foot、Ghostty、Windows Terminal(>= v1.22.10352.0)、st with Sixel patch、Warp(仅 macOS/Linux)、Tabby、VSCode、Rio(>= 0.3.9)、Black Box、Bobcat;X11 / Wayland 需配合 Überzug++;其余终端可回退为 ASCII art,但需要 Chafa(>= 1.16.0)。
  1. 可选外部工具:来源明确说明集成 ripgrep、fd、fzf、zoxide,如需使用对应能力需另行准备这些命令行工具;具体版本要求待核验。
  1. 安装步骤:具体安装命令(各平台包管理器命令、源码编译方式、Windows/macOS/Linux 差异)待核验,请以官方安装文档 https://yazi-rs.github.io/docs/installation 为准。
  1. 首次运行:安装后通过终端启动 Yazi 进入文件管理界面;首次运行是否需要初始化配置、是否自动生成配置文件,待核验。
  1. 插件与主题:项目内置包管理器,可用一条命令安装插件和主题并保持更新,或固定到特定版本;具体命令待核验。
  1. 插件扩展:支持 UI 插件、功能插件以及自定义 previewer/preloader/spotter/fetcher,使用 Lua 编写;具体目录结构与接口待核验。
  1. 常见问题:若图像预览不生效,优先核对所用终端是否在内置支持列表内;若不在列表内,X11 / Wayland 场景需安装 Überzug++,其他终端需安装 Chafa(>= 1.16.0)。项目处于公开测试阶段且密集开发中,可能出现破坏性变更,升级前建议留意更新说明。

来源教程配图

Warp sponsorship
配图 1 · Warp sponsorship查看原图
RustRover logo
配图 2 · RustRover logo查看原图

适用场景

在终端内高效浏览与管理本地文件
目录与多标签页
预览图像
视频
PDF
压缩包
代码与目录内容
批量重命名/创建
压缩包解压
可视化模式与文件选择
通过虚拟文件系统与自定义 VFS 提供方管理远程文件
借助 Lua 插件系统扩展 UI