终端文件管理器这类工具,很容易被写成“ls 和 cd 的升级版”。这说法没错,但有点浅。
Yazi 真正值得看的地方,不只是它能在终端里预览图片、PDF、压缩包和代码,而是它把“文件浏览”这件事重新放回了键盘工作流里。对开发者、运维、远程服务器用户来说,文件管理不是打开一个 Finder 或资源管理器那么简单:你经常在 SSH 里,旁边开着编辑器、测试日志、Git diff、构建产物,还要不停找文件、看内容、移动目录、批量改名。
这时候,传统图形文件管理器太重,纯命令又太碎。Yazi 卡在中间:它还是终端工具,但给你分栏、预览、异步任务、插件和主题。换句话说,它不是要替代 shell,而是给 shell 补一个更像“驾驶舱”的文件层。
Yazi 是什么:不是炫技,是终端工作流补位
Yazi 是一个用 Rust 写的终端文件管理器,当前仓库版本已经到 26.5.6,项目仍处于 public beta,但 README 里已经明确写了:可以作为 daily driver 使用,只是仍在快速开发,可能有破坏性变更。
它的基本形态很直观:
你可以把它理解成“终端里的 Finder”,但这个比喻还不够准确。因为 Yazi 的关键不是漂亮,而是它把文件选择、预览、复制移动、批量重命名、目录跳转、插件扩展都保留在键盘流里。你不用退出终端,也不用在鼠标和命令之间来回切。
官方列出的核心能力包括:异步 I/O、任务调度、图片协议支持、代码高亮、Lua 插件、虚拟文件系统、包管理器、ripgrep/fd/fzf/zoxide 集成、多标签、跨目录选择、批量重命名、压缩包解包、Git 集成、挂载管理、主题系统、鼠标支持和回收站。
这不是“多几个快捷键”的工具,底层已经按一个可扩展 TUI 平台在做了。
安装:先选包管理器,别一上来源码编译
大多数人没必要从源码开始。Yazi 已经进入多个系统包管理器,优先用系统里最顺手的方式装。
macOS 可以用 Homebrew:
Arch Linux:
Nix:
如果你用的是其他 Linux 发行版,可以先查发行版软件源;没有合适版本,再从 GitHub Release 下载预编译包,或者用 Cargo 安装。
源码构建适合想参与开发或需要最新提交的人:
注意,当前 workspace 里写的 Rust 版本要求是 1.95.0。如果本机 Rust 太旧,先升级工具链:
装完后跑:
第一次启动先别急着改配置。先用默认快捷键跑一圈,确认终端显示、按键、预览和退出都正常。
先学 12 个按键,够用一整天
Yazi 的键位对 Vim 用户比较友好。刚开始不需要背完整表,先记下面这些:
如果你已经习惯 Vim,这套操作几分钟就能上手。真正影响效率的不是快捷键数量,而是“眼睛不离开当前目录”。你上下移动时,右侧预览会跟着变;遇到代码、Markdown、图片、压缩包,不用先打开文件,再关掉,再切回目录。
开发目录里尤其明显。比如你在一个前端项目里找素材、改页面、看构建产物,Yazi 可以让你快速扫一遍:
它不是替代编辑器,而是让你在打开编辑器之前先看清楚目录。
图片预览:好用,但要先确认终端协议
Yazi 最吸引人的功能之一,是终端图片预览。官方 README 里列了很多终端协议支持:Kitty、iTerm2、WezTerm、Konsole、foot、Ghostty、Windows Terminal、Warp、Tabby、VSCode、Rio、Black Box 等都有内置或协议支持;X11/Wayland 可以通过 Überzug++,兜底还可以通过 Chafa 做字符画预览。
这说明一个问题:图片预览不是 Yazi 单方面决定的,它依赖终端是否支持对应图片协议。
如果你打开 Yazi 后图片不显示,先按这个顺序查:
macOS 上 iTerm2、WezTerm、Warp 通常体验比较稳。Linux 桌面端 Kitty、WezTerm、foot、Ghostty 值得优先试。Windows Terminal 新版本也支持 Sixel,但系统和终端版本要对上。
如果你只是服务器 SSH 管理,不一定非要追求“真图片”。能预览文本、代码、压缩包、目录、PDF 首页,已经足够把日常文件操作效率拉上去了。
Shell wrapper:退出后回到最后目录
终端文件管理器有一个经典痛点:你在里面一路进到很深的目录,退出后 shell 还停在原来的位置。Yazi 也提供 shell wrapper 思路,让你退出时回到最后浏览的目录。
一个常见写法是给 shell 加函数,例如 zsh/bash:
保存到 ~/.zshrc 或 ~/.bashrc 后重新加载:
以后用:
这样你在 Yazi 里浏览到目标目录后退出,当前 shell 也会跟过去。这一步很实用,建议早配。否则 Yazi 只是在“看文件”,配上 wrapper 后才真正变成“导航工具”。
依赖工具:fd、rg、fzf、zoxide 不是装饰
Yazi 可以和 ripgrep、fd、fzf、zoxide 集成。别把这些当可有可无的插件,它们决定了 Yazi 能不能从“文件列表”变成“项目导航”。
建议一起装:
Linux 上按发行版包管理器替换即可,比如 Arch:
这几样分别负责:
项目目录越大,这些工具越有用。你不需要在脑子里记路径,也不需要一层层 cd。经常访问的目录会被 zoxide 记住,搜索文件和内容时也能少等很多。
批量重命名:比写 for 循环安全一点
批量重命名是命令行里最容易手滑的操作之一。写 for 循环、rename、mv 都能做,但可视反馈弱,错了就一片乱。
Yazi 的优势是它把批量操作放进一个可预览的界面里。你可以先选中文件,再进入重命名逻辑,按类似编辑文本的方式调整文件名。对这些场景尤其顺手:
当然,批量改名前仍然要有底线:重要目录先备份,Git 仓库里先看 git status,生产服务器上不要对未知目录一把梭。
插件和主题:先少装,等工作流稳定后再扩展
Yazi 的插件系统是它后续能长大的关键。README 里提到,它支持 UI 插件、功能插件、自定义 previewer、preloader、spotter、fetcher,而且插件主要用 Lua 写。官方插件仓库里也有 Git integration、mount manager 等扩展。
但新手不建议一上来装一堆主题和插件。原因很简单:文件管理器是高频工具,稳定比花哨重要。先把默认体验用顺,再考虑这几类扩展:
真正值得折腾的是“预览能力”。如果你每天处理 Markdown、JSON、图片、PDF、压缩包、日志,就应该把这些格式的预览调稳。主题只是锦上添花。
在服务器上用:别把它当桌面文件管理器
Yazi 很适合 SSH 场景,但服务器上用它要克制。远程机器上最重要的是边界:哪些目录能动,哪些目录只能看,哪些操作必须回滚。
建议给服务器上的 Yazi 使用定几条规则:
如果你把服务器当 Agent 实验机、远程开发机或临时构建机,Yazi 会更有用。它能让你快速查看日志、产物、截图、下载文件和项目目录,不必每次 ls、cd、less 来回跳。
顺手提一嘴,如果你最近正准备单独搞一台远程开发/Agent 实验机,可以把 Yazi、tmux、fzf、ripgrep、zoxide 这些终端工具一次配好。雨云这类轻量云服务器适合拿来做隔离环境:坏了重装,不影响主力电脑,也方便给 Agent 单独设权限和日志边界。
一套够用的起步配置思路
Yazi 的配置文件通常放在用户配置目录下。你不必一开始就抄完整配置,先按“最少改动”来:
起步建议只做三件事:
等这三件事稳定后,再加 Git 插件、主题和自定义 previewer。
常见问题排查
图片不显示:
退出后目录没变化:
预览很慢:
按键和输入法冲突:
生产服务器不敢用:
最后说句实在的
Yazi 的价值不是让终端看起来像图形界面,而是让终端里最碎的那部分操作重新连贯起来。
ls、cd、cp、mv、less 当然都能用,也足够可靠。但当你一天要在几十个目录之间跳、看图片和 Markdown、翻日志、找构建产物、批量整理文件时,纯命令会把注意力切得很碎。Yazi 把这些动作放进一个键盘优先的界面里,让你先看见文件,再决定怎么动它。
对终端重度用户来说,这不是花活。它更像一个基础设施小升级:不改变你的 shell,不替代你的编辑器,只把文件层补齐。
整明白这点,Yazi 就值得装。