大家好,我是何三,独立开发者

你见过启动只要 1 毫秒 的文件管理器吗?不是 GUI 的那种,是终端里的。

Yazi(读作"鸭子"),一个 Rust 写的终端文件管理器,二进制才 5MB,启动快到肉眼根本感觉不到。GitHub 上已经拿到了 38.6k Star(约 4 万),最近 Reddit 上又炸了一波——因为它刚加了一个在终端里听起来很离谱的功能:拖放支持

对,没听错。终端里,拖拽文件。

启动速度对比

凭什么这么轻,还这么快

先说一下 Yazi 为什么能这么小、这么快。

市面上绝大多数终端文件管理器(比如 ranger、lf、nnn)都是 Python 或 C 写的。Python 嘛,跑起来先加载个解释器,光这一步就几百毫秒过去了。Yazi 用 Rust 写的,编译成原生二进制,没有运行时依赖。

但 Yazi 真正牛逼的地方不在于"用了 Rust",而在于它的全异步 I/O 设计

什么是异步 I/O?说人话就是:传统文件管理器打开一个目录,得老老实实把每个文件的信息读完了,才能显示出来。如果你进了个几百个文件的目录,会明显卡一下。Yazi 的做法是——一边读一边展示,不互斥,不等候。读文件、渲染 UI、处理键盘输入,这些动作跑在不同的线程上,谁也不堵谁。

这玩意儿让我想起了之前折腾 Node.js 的时候,被回调地狱支配的恐惧。不过 Rust 的 async/await 比那玩意儿优雅一百倍。跑题了,回来。

Yazi 还有一个"预加载机制"。你光标移动到某个文件上,它就已经悄悄在后面开始预读这个文件的信息了——图片解码、语法高亮、文件类型识别,都在你看不到的地方提前跑完。所以当你真正按回车打开文件的时候,几乎零延迟

我之前用 ranger 的时候最烦的一点:进一个全是图片的文件夹,光标移到哪卡到哪。Yazi 完全没这个问题。

上手体验:装了就回不去了

安装 Yazi 很简单,一行命令的事:

# macOS
brew install yazi

# Linux (通过 cargo)
cargo install --locked yazi

# 或者直接下载二进制
# 去 GitHub Releases 页面,下载对应平台的版本就行

装完以后,你只需要在终端敲:

yazi

直接进入文件管理器界面。Vim 风格的按键操作:j/k 上下移动,l 进入目录,h 返回上级,空格选中文件,y 复制,p 粘贴。

我最有好感的一个功能是文件预览。 终端里看图片?Yazi 支持。看 PDF?也行。看视频缩略图?照样可以。只要你的终端模拟器支持(kitty、iTerm2、WezTerm、Ghostty 等现在基本都支持),直接内联显示。

更骚的是,Yazi 内置了跟 ripgrepfdfzfzoxide 的集成。简单说就是:你在文件管理器里搜索文件,用的是 ripgrep(比 grep 快十倍);快速跳转目录,用的是 zoxide(学习你的使用习惯,cd 不需要全路径)。

说白了,Yazi 不是又一个文件管理器,它是把这些终端神器打包成一个统一体验的工具。

还有那个刚加的 拖放功能。在 Yazi 里用鼠标选中文件,拖到另一个终端窗口或者 GUI 应用的窗口里——文件路径就直接传过去了。原理嘛,其实就是 OSC 52 终端协议——算了这个不展开讲了,细节可能有出入,有懂的大佬欢迎指正。

Yazi 能干的事,比你想象的多

这里列几个我觉得特别实用的场景:

批量重命名。 选中一堆文件,按 r 进入重命名模式。你可以用 Vim 的操作来编辑文件名——:substitute 替换,cw 修改单词,d 删除,比 GUI 工具快多了。

一键解压。 遇到压缩包不用退出去用命令行解压,直接在 Yazi 里选中按回车,预览内容,按 x 解压到当前目录。

Git 集成。 装个 git.yazi 插件,文件列表里直接显示 Git 状态——哪些文件改了、哪些是新加的、哪些冲突了,一目了然。这个对我这种天天跟 Git 打交道的人来说,太实用了。

主题系统。 Yazi 支持自定义主题,配色、字体、边框样式都能调。去它的插件市场下一个喜欢的主题,一行命令搞定。

# 安装主题
ya pack -a yazi-rs/flavors#catppuccin-mocha

Yazi核心功能一览

同类工具链

如果你觉得 Yazi 有意思,这几个工具你可能也会喜欢:

  • ranger:Yazi 的"前辈",Python 写的,生态很成熟,但确实慢了点
  • lf:Go 写的终端文件管理器,轻量但功能不如 Yazi 丰富
  • nnn:C 写的,极致轻量,但学习曲线陡峭

我之前还写过一篇《2026 年 GitHub 高性能神器排行榜》,里面推荐了很多类似的 Rust 工具,关注公众号后回复「工具」就能拿到。

如果想进一步折腾,Yazi 的 Lua 插件系统也值得试试——你可以写自定义预览器、自定义排序规则、甚至改 UI 组件。不过说实话,这块我也没完全搞懂,文档跟谜语人似的,得自己翻 Discord 问。

GitHub 地址: https://github.com/sxyazi/yazi

装不装都行,看你自己。不过如果你是个天天泡终端的人——装完 Yazi,大概率回不去了。

本文使用 MGO 编辑并发布

关注"何三笔记",回复"mgo" 免费下载使用