Yazi 是基于 Rust 的极速终端文件管理器,支持图片预览、Vim 键位和 Lua 插件系统。本文涵盖 macOS 安装、13 个依赖工具配置、10 个必备插件安装以及完整快捷键使用指南。
安装
macOS(Homebrew)
Cargo(通用)
Fedora / RHEL(dnf)
版本验证:
依赖工具安装
Yazi 依赖一系列 CLI 工具来实现文件预览、搜索等功能:
1
| brew install ffmpeg p7zip poppler fd fzf zoxide resvg imagemagick glow mediainfo ouch
|
| 工具 |
用途 |
ffmpeg |
视频/音频缩略图生成 |
p7zip (7z) |
7z 压缩/解压 |
poppler (pdftoppm) |
PDF 预览 |
fd |
快速文件查找(替代 find) |
fzf |
模糊搜索 |
zoxide |
智能 cd(跳转常用目录) |
resvg |
SVG 渲染 |
imagemagick (convert) |
图片处理/转换 |
glow |
Markdown 终端预览 |
mediainfo |
媒体文件元数据读取 |
ouch |
压缩包内容预览/压缩/解压 |
jq |
JSON 预览(macOS 自带) |
rg (ripgrep) |
内容搜索 |
插件安装
使用 Yazi 内置包管理器 ya pkg 安装插件:
官方插件
1 2 3 4 5 6
| ya pkg add yazi-rs/plugins:git ya pkg add yazi-rs/plugins:smart-enter ya pkg add yazi-rs/plugins:full-border ya pkg add yazi-rs/plugins:jump-to-char ya pkg add yazi-rs/plugins:smart-paste ya pkg add yazi-rs/plugins:mime-ext
|
社区插件
1 2 3 4
| ya pkg add Reledia/glow ya pkg add boydaihungst/mediainfo ya pkg add ndtoan96/ouch ya pkg add Ape/open-with-cmd
|
插件管理命令
1 2 3
| ya pkg list ya pkg upgrade ya pkg delete <plugin>
|
配置文件
配置目录:~/.config/yazi/
init.lua — 插件初始化
1 2 3 4 5 6 7 8 9
| require("full-border"):setup { type = ui.Border.ROUNDED, }
require("git"):setup { order = 1500, }
|
yazi.toml — 主配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| [plugin] prepend_previewers = [ { url = "*.md", run = "glow" }, { mime = "video/*", run = "mediainfo" }, { mime = "audio/*", run = "mediainfo" }, { mime = "application/zip", run = "ouch" }, { mime = "application/gzip", run = "ouch" }, { mime = "application/x-tar", run = "ouch" }, { mime = "application/x-bzip2", run = "ouch" }, { mime = "application/x-xz", run = "ouch" }, { mime = "application/x-7z-compressed", run = "ouch" }, { mime = "application/x-rar-compressed", run = "ouch" }, { mime = "application/zstd", run = "ouch" }, ] prepend_loaders = [ { name = "*", run = "mime-ext" }, ]
[[plugin.prepend_fetchers]] url = "*" run = "git" group = "git"
[[plugin.prepend_fetchers]] url = "*/" run = "git" group = "git"
|
⚠️ 新版 Yazi(v26+)预览器配置用 url(文件路径 glob)和 mime(MIME 类型),旧的 name 已废弃。
keymap.toml — 快捷键
1 2 3 4 5 6 7 8
| [manager] prepend_keymap = [ { on = ["<Enter>"], run = "plugin smart-enter", desc = "Smart enter" }, { on = ["p"], run = "plugin smart-paste", desc = "Smart paste" }, { on = ["f"], run = "plugin jump-to-char", desc = "Jump to char" }, { on = ["o"], run = "plugin open-with-cmd --interactive", desc = "Open with command" }, { on = ["O"], run = "plugin open-with-cmd --interactive --block", desc = "Open with command (block)" }, ]
|
使用指南
启动
基础导航
| 按键 |
功能 |
h / ← |
返回上级目录 |
l / → |
进入目录 / 打开文件 |
j / ↓ |
向下移动 |
k / ↑ |
向上移动 |
Enter |
智能打开(smart-enter 插件) |
f |
跳转到文件名首字符(jump-to-char 插件) |
~ |
跳转到家目录 |
g + c |
跳转到 ~/.config |
g + d |
跳转到 ~/Downloads |
z |
用 zoxide 跳转常用目录 |
Z |
用 fzf 跳转目录 |
文件操作
| 按键 |
功能 |
y |
复制(yank) |
x |
剪切(cut) |
p |
粘贴(smart-paste:粘贴到悬停目录) |
P |
粘贴到当前目录(强制) |
d |
删除(移到回收站) |
D |
永久删除 |
a |
新建文件/目录(末尾加 / 表示目录) |
r |
重命名 |
. |
切换隐藏文件显示 |
选择
| 按键 |
功能 |
Space |
切换选中当前文件 |
v |
反选 |
V |
进入/退出可视模式(批量选择) |
Ctrl+a |
全选 |
Ctrl+r |
取消全选 |
预览与搜索
| 按键 |
功能 |
Tab |
查看文件详细信息(spotter) |
/ |
过滤/搜索当前目录文件 |
? |
查看帮助 |
Ctrl+/ |
查看快捷键列表 |
标签页
| 按键 |
功能 |
t |
新建标签页 |
1-9 |
切换到第 N 个标签页 |
[ / ] |
切换到上/下一个标签页 |
Ctrl+c |
关闭标签页 |
自定义命令打开
| 按键 |
功能 |
o |
选择程序打开文件(open-with-cmd 插件) |
O |
同上(阻塞模式) |
退出
| 按键 |
功能 |
q |
退出 |
Q |
退出并将当前路径输出到终端(配合 y 函数使用) |
Ctrl+c |
强制退出 |
Shell 集成(可选)
在 ~/.zshrc 或 ~/.bashrc 中添加 y 函数,退出 yazi 时自动 cd 到最后浏览的目录:
1 2 3 4 5 6 7 8
| function y() { local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd yazi "$@" --cwd-file="$tmp" if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then builtin cd -- "$cwd" fi rm -f -- "$tmp" }
|
之后用 y 替代 yazi 启动即可。
常见问题
TOML parse error: at least one of url or mime must be specified
新版 Yazi 预览器配置格式变更,name 键已废弃。用 url 匹配文件路径 glob,用 mime 匹配 MIME 类型。
ouch 插件 Lua error
确保安装了 ouch CLI 工具:brew install ouch
插件升级
关键词:Yazi, 终端文件管理器, Rust, macOS, 插件系统