前言 :Yazi 是一款基于 Rust 编写的极速终端文件管理器。它凭借异步 I/O 架构、原生图片/视频预览、Vim 式操作逻辑以及强大的插件系统,正在迅速成为开发者取代
ranger和lf的首选工具。适用范围 :本文专注于 macOS 用户,采用 Homebrew 进行一键安装。
其他平台(Windows/Linux)及更多安装方式,请访问官方文档:https://yazi-rs.github.io/docs/installation
📸 效果预览
在开始之前,先感受一下 Yazi 的魅力。想象一下,你在纯文本终端中不仅能流畅浏览文件,还能直接看到高清图片缩略图、视频帧、PDF 内容甚至代码高亮:
(此处为模拟截图描述,实际使用时你将看到如下界面)
text
+----------------------+---------------------------+-----------------------+
| 📂 Documents | 🖼️ preview_image.png | 📝 info |
| 📁 Projects | [ 高清图片实时渲染 ] | Type: PNG Image |
| 🎬 video_demo.mp4 | | Size: 2.4 MB |
| 📄 report.pdf | | Modified: 2 mins ago |
| ⚙️ config.toml | | |
| | | Git: ✗ 2 modified |
+----------------------+---------------------------+-----------------------+
| h:返回 j/k:上下 l:进入 y:复制 x:剪切 p:粘贴 q:退出 ?:帮助 |
+----------------------+---------------------------+-----------------------+
✨ 亮点:左侧文件列表带图标,中间实时渲染图片,右侧显示元数据和 Git 状态。
🚀 第一部分:极速安装 (macOS + Homebrew)
为了获得最佳体验(特别是图片和视频预览),我们需要一次性安装主程序及其核心依赖。
1. 执行安装命令
打开终端,运行以下命令:
bash
brew install yazi ffmpeg chafa poppler fd ripgrep fzf zoxide
2. 依赖包作用解析
| 包名 | 作用 | 必要性 |
|---|---|---|
| yazi | 主程序 | ⭐⭐⭐⭐⭐ |
| ffmpeg | 生成视频缩略图 | ⭐⭐⭐⭐ |
| chafa | 终端图像渲染引擎 (关键) | ⭐⭐⭐⭐⭐ |
| poppler | PDF 文件预览 | ⭐⭐⭐ |
| fd | 极速文件搜索 | ⭐⭐⭐⭐ |
| ripgrep | 极速内容搜索 | ⭐⭐⭐⭐ |
| zoxide | 智能目录跳转插件支持 | ⭐⭐⭐ |
3. 验证安装
bash
yazi --version
若输出版本号,则安装成功。
🎨 第二部分:视觉优化 (字体是关键)
这是新手最容易踩坑的地方! 如果启动 Yazi 后发现文件名前面是方框 □ 或问号 ?,而不是漂亮的文件夹📁或代码文件📄图标,说明你的终端字体不支持 Nerd Fonts。
✅ 最佳实践:安装并配置 Nerd Font
步骤 1:下载字体
推荐下载 JetBrains Mono Nerd Font 或 Hack Nerd Font 。
你可以手动下载,也可以用 Homebrew Cask 安装:
bash
# 安装 JetBrains Mono Nerd Font
brew install --cask font-jetbrains-mono-nerd-font
步骤 2:在终端软件中应用
-
iTerm2 :
Preferences->Profiles->Text->Non-ASCII Font-> 选择JetBrainsMono Nerd Font。 -
Alacritty : 修改
~/.config/alacritty/alacritty.toml:toml[font] normal = { family = "JetBrainsMono Nerd Font", style = "Regular" } -
WezTerm : 修改
wezterm.lua:luaconfig.font = wezterm.font 'JetBrainsMono Nerd Font' -
Mac 自带终端 :
设置->描述文件->文本-> 更改字体。
步骤 3:重启终端
重新启动终端并输入 yazi,此时你应该能看到完美的图标显示了。
⌨️ 第三部分:核心操作与快捷键
Yazi 的操作逻辑高度模仿 Vim,一旦上手,效率极高。
基础导航
| 按键 | 功能 | 记忆口诀 |
|---|---|---|
h |
返回上级目录 | Left |
j / ↓ |
向下移动 | Down |
k / ↑ |
向上移动 | Up |
l / → / Enter |
进入目录 / 打开文件 | Right/Confirm |
gg |
跳至列表顶部 | Go Top |
G |
跳至列表底部 | Go Bottom |
. |
切换显示隐藏文件 | Dot files |
文件操作 (类似 Vim 的 yank/delete/paste)
| 按键 | 功能 | 说明 |
|---|---|---|
y |
复制 (Yank) | 选中文件后按 y,可多选 |
x |
剪切 (Cut) | 选中文件后按 x |
p |
粘贴 (Paste) | 将复制或剪切的文件粘贴到当前目录 |
d |
删除 | 默认移动到 macOS 回收站 (需配置) |
r |
重命名 | 支持批量重命名 |
a |
新建 | 自动识别是创建文件还是文件夹 |
v |
可视化选择 | 进入多选模式,配合 j/k 选择多个文件 |
搜索与预览
| 按键 | 功能 |
|---|---|
/ |
正向搜索文件名 (支持正则) |
? |
反向搜索 |
f |
快速跳转 (输入文件名首字母) |
Tab |
开关预览面板 (当屏幕较小时非常有用) |
F1 或 ? |
打开内置帮助文档 (最全的说明书) |
🧩 第四部分:插件系统与最佳实践
Yazi 的强大在于其 Lua 插件系统。以下是三个提升生产力的最佳实践配置。
1. 启用 Zoxide (智能目录跳转)
zoxide 能记住你常去的目录,让你无需层层点击进入。
配置步骤:
编辑 ~/.config/yazi/keymap.toml (如果不存在,运行一次 yazi 会自动生成):
toml
# ~/.config/yazi/keymap.toml
[[manager.keymap]]
on = ["z", "f"] # 按下 z 然后按 f 触发
run = "plugin zoxide"
desc = "Jump to a directory using zoxide"
使用方法:在 Yazi 中按下 zf,输入目录关键词(如 doc),即可瞬间跳转到 ~/Documents。
2. 集成 Git 状态
如果你开发代码,Yazi 可以直接显示文件的 Git 状态(修改、新增、未跟踪)。
确保已安装 git ,Yazi 默认会尝试读取 .git 信息。你可以在文件列表中看到:
- 🟢 新增文件
- 🔴 修改文件
- ❓ 未跟踪文件
3. Shell 集成 (退出后自动 cd)
这是一个杀手级技巧:让 Yazi 退出后,你的终端自动切换到刚才浏览的目录。
配置方法:
将以下函数添加到你的 Shell 配置文件 (~/.zshrc 或 ~/.bash_profile):
bash
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
# 启动 yazi,并将最终路径写入临时文件
yazi "$@" --cwd-file="$tmp"
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
fi
rm -f -- "$tmp"
}
保存后执行 source ~/.zshrc。
效果 :在终端输入 y 打开 Yazi,浏览到某个项目文件夹后按 q 退出,你会发现终端提示符已经自动变到了该目录下!
🛠️ 第五部分:常见问题排查 (FAQ)
Q1: 图片/视频预览是一片空白或乱码?
- 原因 :缺少
chafa或ffmpeg,或者终端不支持图形协议。 - 解决 :
- 确认已安装依赖:
brew install chafa ffmpeg。 - 检查终端:推荐使用 Kitty , WezTerm , 或 iTerm2 (需在偏好设置中开启 "Inline images")。
- 如果仍不行,可在
~/.config/yazi/yazi.toml中调整预览器设置,或暂时关闭图片预览。
- 确认已安装依赖:
Q2: 删除文件没有进回收站,而是直接消失了?
-
原因 :macOS 下需要调用
trash命令。 -
解决 :
- 安装 trash-cli:
brew install trash。 - 编辑
~/.config/yazi/yazi.toml,找到[opener]部分,确保 delete 操作调用的是 trash:
toml[opener] trash = [ { run = 'trash "$@"', desc = "Move to trash", for = "unix" }, ](注:新版 Yazi 通常默认配置较好,若遇问题请检查此配置)
- 安装 trash-cli:
Q3: 中文文件名显示乱码?
- 原因:终端编码不是 UTF-8。
- 解决 :macOS 终端默认即为 UTF-8。如果是通过 SSH 连接,请确保服务器 locale 设置为
zh_CN.UTF-8或en_US.UTF-8。
🎯 总结
Yazi 不仅仅是一个文件管理器,它是现代命令行工作流的中心枢纽。
- 安装 :
brew install yazi ...一键搞定。 - 颜值 :务必配置 Nerd Font,这是体验的分水岭。
- 效率 :掌握
hjkl导航,配置zoxide插件,使用y函数实现 shell 集成。 - 扩展:遇到需求先查插件库,不要重复造轮子。
现在,打开你的终端,输入 yazi,开始享受极速的文件管理体验吧!🦆
更多资源: