Contents
  1. 1. 安装
    1. 1.1. macOS(Homebrew)
    2. 1.2. Cargo(通用)
    3. 1.3. Fedora / RHEL(dnf)
  2. 2. 依赖工具安装
  3. 3. 插件安装
    1. 3.1. 官方插件
    2. 3.2. 社区插件
    3. 3.3. 插件管理命令
  4. 4. 配置文件
    1. 4.1. init.lua — 插件初始化
    2. 4.2. yazi.toml — 主配置
    3. 4.3. keymap.toml — 快捷键
  5. 5. 使用指南
    1. 5.1. 启动
    2. 5.2. 基础导航
    3. 5.3. 文件操作
    4. 5.4. 选择
    5. 5.5. 预览与搜索
    6. 5.6. 标签页
    7. 5.7. 自定义命令打开
    8. 5.8. 退出
  6. 6. Shell 集成(可选)
  7. 7. 常见问题
    1. 7.1. TOML parse error: at least one of url or mime must be specified
    2. 7.2. ouch 插件 Lua error
    3. 7.3. 插件升级

Yazi 是基于 Rust 的极速终端文件管理器,支持图片预览、Vim 键位和 Lua 插件系统。本文涵盖 macOS 安装、13 个依赖工具配置、10 个必备插件安装以及完整快捷键使用指南。

安装

macOS(Homebrew)

1
brew install yazi

Cargo(通用)

1
cargo binstall yazi-fm

Fedora / RHEL(dnf)

1
sudo dnf install yazi

版本验证:

1
yazi --version

依赖工具安装

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          # 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 # Vim 风格 f 键跳转
ya pkg add yazi-rs/plugins:smart-paste # 粘贴到悬停目录
ya pkg add yazi-rs/plugins:mime-ext # 快速 MIME 类型检测

社区插件

1
2
3
4
ya pkg add Reledia/glow          # Markdown 预览(依赖 glow)
ya pkg add boydaihungst/mediainfo # 媒体文件预览(依赖 mediainfo + ffmpeg)
ya pkg add ndtoan96/ouch # 压缩包预览(依赖 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,
}

-- Git 状态显示
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 = [
# Markdown 预览
{ 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" },
]

# Git 状态 fetcher
[[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)" },
]

使用指南

启动

1
2
yazi            # 在当前目录启动
yazi /path # 在指定目录启动

基础导航

按键 功能
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

插件升级

1
ya pkg upgrade

关键词:Yazi, 终端文件管理器, Rust, macOS, 插件系统

Contents
  1. 1. 安装
    1. 1.1. macOS(Homebrew)
    2. 1.2. Cargo(通用)
    3. 1.3. Fedora / RHEL(dnf)
  2. 2. 依赖工具安装
  3. 3. 插件安装
    1. 3.1. 官方插件
    2. 3.2. 社区插件
    3. 3.3. 插件管理命令
  4. 4. 配置文件
    1. 4.1. init.lua — 插件初始化
    2. 4.2. yazi.toml — 主配置
    3. 4.3. keymap.toml — 快捷键
  5. 5. 使用指南
    1. 5.1. 启动
    2. 5.2. 基础导航
    3. 5.3. 文件操作
    4. 5.4. 选择
    5. 5.5. 预览与搜索
    6. 5.6. 标签页
    7. 5.7. 自定义命令打开
    8. 5.8. 退出
  6. 6. Shell 集成(可选)
  7. 7. 常见问题
    1. 7.1. TOML parse error: at least one of url or mime must be specified
    2. 7.2. ouch 插件 Lua error
    3. 7.3. 插件升级