小伙伴们,大家好,我是小溪,见字如面。面向TUI开发后越来越不喜欢打开编辑器了,但有时又需要查看项目目录结构、预览文件内容,为此就不得不打开编辑器就很不开心。逛帖子时发现一个不错的终端可视化文件管理工具,这里推荐给同样需要的小伙伴。
当前使用版本
Yazi 26.1.22
# 优势
-
基于Rust开发安全和性能有保障
-
默认支持文件、图片、视频等文件类型的预览
限制
- 特殊格式的文件(pdf、压缩包等)预览需要额外安装对应依赖库
简介
Yazi 是一款基于 Rust 开发的现代终端文件管理器,凭借 全异步 I/O 架构 和多线程任务调度,实现了极速的响应能力,原生支持多种终端图像协议与强大的代码/媒体预览功能,是追求高性能与极致流畅体验的开发者利器。
官方文档:yazi-rs.github.io/docs/instal...
Github地址:github.com/sxyazi/yazi

安装
mac推荐使用Homebrew安装,官方建议的安装方式依赖了很多三方包,为了获得完整的功能体验,可以一次性安装所有核心依赖
sql
$ brew install yazi ffmpeg-full sevenzip jq poppler fd ripgrep fzf zoxide resvg imagemagick-full font-symbols-only-nerd-font
$ brew link ffmpeg-full imagemagick-full -f --overwrite
也可以先安装主包,根据自己的需求后续再安装其他依赖包
shell
$ brew install yazi
Arch Linux
shell
$ sudo pacman -S yazi
Ubuntu/Debian
shell
$ sudo apt install yazi
基本使用
命令行参数
在命令行终端输入 yazi -h 可以查看Yazi提供的所有命令参数,根据自己的需求选择,一般无需使用

启动
Yazi的启动也很简单,在命令行终端输入 yazi 即可启动
shell
$ yazi
启动完成后预览界面如下:

快捷键
Yazi提供了非常多的快捷键,这里介绍一些常用的,更多快捷键可以查看官方文档:yazi-rs.github.io/docs/quick-...
导航 (Navigation):
-
k / ↑:向上移动光标
-
j / ↓:向下移动光标
-
l / →:进入选中的目录
-
h / ←:退回父目录
-
K:在预览中向上滚动 5 行
-
J:在预览中向下滚动 5 行
-
g:移动光标到顶部
-
G:移动光标到底部
-
z:通过 fzf 跳转目录或定位文件
复制 (Copy paths):
-
c c:复制文件路径
-
c d:复制目录路径
-
c f:复制文件名
-
c n:复制文件名(不含扩展名)
过滤与搜索 (Filter & Search):
-
f:过滤当前目录下的文件
-
/:查找下一个文件
-
?:查找上一个文件
-
n:跳转到下一个查找结果
-
N:跳转到上一个查找结果
-
S:使用 ripgrep 按内容搜索
-
Ctrl + s:取消正在进行的搜索
排序 (Sorting):
-
, m / M:按修改时间排序(正序/倒序)
-
, b / B:按创建时间排序(正序/倒序)
-
, e / E:按扩展名排序(正序/倒序)
-
, a / A:按字母顺序排序(正序/倒序)
-
, n / N:按自然顺序排序(正序/倒序)
-
, s / S:按大小排序(正序/倒序)
-
, r:随机排序
使用快捷键【l /h/→/←】或者鼠标可以快速切换目录

使用快捷键【/】或者【f】可以对文件列表进行过滤,使用【ESC】退出过滤模式

使用快捷键【,】会弹出底部菜单,再按【Shift+s】可以按文件大小进行逆向排序

排序效果如下:

文件预览
Yazi支持文件预览,对于文本文件可以直接在右侧查看文本内容

使用快捷键【Enter】可以进入文件全屏预览模式

输入 i可以进入编辑模式,输入 :wq 保存退出,:q不保存退出文件编辑模式

图片预览

视频预览只能看到视频首帧预览,输入回车会打开系统播放器进行播放

默认没有安装PDF预览依赖包查看PDF时多半会出现这种问题

为了可以正常预览PDF,我们需要安装对应的poppler套件
shell
$ brew install poppler
安装完成后再次查看就可以预览PDF了

预览压缩包也是一样的,如果没有安装对应依赖包,会报这个错误:Failed to start either 7zz or 7z. Do you have 7-zip installed?,想要预览压缩包需要安装7zip依赖包
shell
$ brew install sevenzip
安装完成后即可正常预览压缩包

配置文件
官方文档:yazi-rs.github.io/docs/config...
Yazi的布局和展示支持配置,对Yazi默认的布局和展示不满意时,可以通过修改配置文件进行调整,配置默认路径:
-
macOS:~/.config/yazi/yazi.toml
-
Windows:%AppData%\yazi\config\yazi.toml
比如Yazi默认的3列布局比例为 1:3:4,我使用时感觉这个比例不是很合适,为了尽量多的看到文件预览的结果,我需要将第3列变大一些,我们可以修改 yazi.toml配置文件如下:
ini
[mgr]
# 默认比例通常是 [1, 3, 4]
ratio = [1, 2, 5]

也就是预览部分占整体宽度的 5/8,修改完后重启Yazi效果如下:

Yazi还提供了其他可配置项
ini
[mgr]
# 默认比例通常是 [1, 3, 4]
ratio = [1, 2, 5]
# 显示隐藏文件
show_hidden = true
# 在文件列表右侧直接显示文件大小
linemode = "size"
[preview]
# 预览代码自动换行
wrap = "yes"
配置完成后效果如下:

常见问题
ailed to start either 7zz or 7z. Do you have 7-zip installed?
Yazi解析压缩包时默认会尝试调用 7zz,当提示这个时表明无法预览压缩包,需要安装 7zz依赖包,以Homebrew为例安装方式如下:
shell
$ brew install sevenzip
Arch Linux
shell
$ sudo pacman -S 7zip
Failed to start pdftopnm, error: No such file or directory (os error 2)
Yazi解析PDF时默认会调用poppler套件中的 pdftopnm 工具,当提示这个时表明无法预览pdf,需要安装 pdftopnm依赖包,以Homebrew为例安装方式如下:
shell
$ brew install poppler
Arch Linux
shell
$ sudo pacman -S poppler
友情提示
见原文:终端可视化文件管理工具:Yazi
本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。友情提示友情提示