终端效率神器 Yazi:Rust 编写的现代化终端文件管理器,告别繁琐操作
作为常年与终端打交道的开发者,我们对终端文件管理器的需求很简单:高效、流畅、功能够用,最好还能兼顾颜值。用过 Ranger、lf 等工具,要么操作繁琐,要么预览体验不佳,直到偶然发现 Yazi------这款用 Rust 编写、基于异步 I/O 的终端文件管理器,彻底解决了我对终端文件管理的所有痛点。今天就来详细拆解 Yazi 的安装、核心功能和实操技巧,帮大家快速上手这款终端神器。
先简单介绍下 Yazi:它的中文意思是"鸭子",是一款主打极速、高效的终端文件管理器,基于非阻塞异步 I/O 架构,能充分利用系统资源,避免传统工具在处理大量文件或预览高分辨率图片时的卡顿问题。更重要的是,它完美适配开发者的使用习惯,Vim 式操作、多工具联动、丰富预览功能,用过一次就再也回不去了。
一、快速安装:多系统适配,新手也能一键上手
Yazi 支持主流操作系统,无论是 macOS、Linux 还是 Windows,安装方式都很简洁。这里整理了最常用的几种安装方法,大家可以根据自己的系统选择,建议优先使用包管理器或 Cargo 安装,避免手动配置的麻烦。
1. 推荐安装方式(按系统分类)
-
macOS :使用 Homebrew 一键安装,同时安装核心依赖(保证预览功能正常)
brew install yazi ffmpeg chafa poppler fd ripgrep fzf zoxide -
Linux(Arch) :通过 AUR 安装,直接执行
yay \-S yazi -
Linux(其他发行版) :使用 Cargo 安装(需提前安装 Rust 工具链)
cargo install yazi \-\-locked -
Windows:可通过 Scoop 安装,或下载exe文件,具体可参考官方文档,这里重点推荐 WSL 环境下使用,体验更流畅。
2. 安装验证与基础配置
安装完成后,在终端输入 yazi 即可启动工具,输入 q 可退出。这里有个新手必踩的坑:启动后如果文件名前显示方框(□)或问号(?),说明终端字体不支持 Nerd Font,导致图标无法正常显示。
解决方法很简单:安装 Nerd Font 字体(推荐 JetBrains Mono Nerd Font 或 Hack Nerd Font),然后在终端软件(iTerm2、Alacritty 等)中设置该字体,重启终端后即可正常显示图标。
另外,建议配置 Shell 包装函数,实现"退出 Yazi 后自动切换到当前浏览目录",避免手动输入冗长路径。以 zsh 为例,在 \~/\.zshrc 中添加以下代码,保存后执行 source \~/\.zshrc 生效:
function y() {
local tmp="$(mktemp -t "yazi-cwd.xxxxxx")"
command yazi "$@" --cwd-file="$tmp"
IFS= read -r -d '' cwd < "$tmp"
[ "$cwd" != "$PWD" ] && [ -d "$cwd" ] && builtin cd -- "$cwd"
rm -f -- "$tmp"
}
之后使用 y 命令启动 Yazi,退出后终端会自动切换到最后浏览的目录,效率直接拉满。
二、核心功能:这些亮点,彻底碾压传统终端文件管理器
Yazi 的强大之处,在于它既保留了终端工具的高效,又弥补了传统工具的短板,尤其是异步架构和丰富的预览功能,堪称开发者的"终端文件管理天花板"。
1. 极速流畅:异步 I/O 加持,告别卡顿
Yazi 基于 Rust 编写,采用全异步 I/O 架构,所有文件操作(浏览、复制、剪切、压缩等)都在后台线程池中执行,UI 界面始终保持流畅响应。即使在包含上千个文件的目录中,也能实现秒级加载,再也不会出现操作卡顿、界面卡死的情况------这也是我放弃 Ranger 的核心原因之一。
除此之外,Yazi 还内置了预缓存机制,能加速图片、代码文件的加载速度,预览大文件时也能做到丝滑流畅,体验远超同类工具。
2. 全能预览:终端里直接查看所有文件,无需启动外部程序
这是 Yazi 最惊艳我的功能:无需启动任何外部工具,就能在终端内预览几乎所有类型的文件,包括图片、视频、PDF、代码、Markdown、压缩包等,甚至能直接预览远程文件(SFTP 挂载后)。
-
图片/视频预览:支持 Kitty、iTerm2、Sixel 等终端图像协议,直接在终端显示图片缩略图和视频帧,无需额外安装图像查看工具;通过 chafa 渲染引擎,即使在不支持图像协议的终端,也能正常预览图片。
-
代码/文档预览 :代码文件自带语法高亮,配色可自定义,和 IDE 体验一致;Markdown 直接渲染显示,PDF 可预览内容,再也不用通过
cat命令查看文件内容,避免输出混乱。 -
压缩包/远程文件预览:选中压缩包,右侧预览面板会直接显示压缩包内的文件列表,无需解压;挂载 SFTP 远程服务器后,可像管理本地文件一样预览远程文件,极大提升远程开发效率。
预览操作也很简单:选中文件后,右侧面板会自动显示预览内容,使用 \( / \) 键可在预览内容中上下滚动,无需额外操作。
3. Vim 式操作:全键盘流,开发者上手即熟
对于习惯 Vim 操作的开发者来说,Yazi 几乎没有学习成本------它的操作逻辑完全贴合 Vim,全键盘操作,无需依赖鼠标,能最大限度提升操作效率。整理了最常用的快捷键,记熟这些就能流畅使用:
| 快捷键 | 功能说明 |
|---|---|
| j/k | 上下移动选中文件 |
| h/l | 返回上级目录 / 进入当前目录/打开文件 |
| Space | 选中/取消选中文件(支持批量选择) |
| y/x/p | 复制 / 剪切 / 粘贴文件 |
| d | 删除文件到回收站(避免误删) |
| f/S | 调用 fd 搜索文件名 / 调用 rg 搜索文件内容 |
| z | 调用 zoxide 快速跳转到常用目录 |
| R | 批量重命名选中文件 |
| w | 打开任务管理器,查看后台任务进度(支持取消任务) |
| q | 退出 Yazi |
如果不习惯 Vim 操作,也可以通过修改配置文件 keymap\.toml 自定义快捷键,灵活性拉满。
4. 多工具联动:无缝集成开发者常用工具
Yazi 最贴心的地方,在于它能无缝集成我们日常开发中常用的终端工具,无需手动切换,实现"一站式"文件管理:
-
集成 fzf/zoxide:按
z调用 fzf 模糊搜索文件,秒级定位目标文件;按大写Z调用 zoxide,输入几个字母就能跳转到常用目录,告别手动输入冗长路径。 -
集成 fd/rg:搜索功能直接调用 fd(文件名搜索)和 rg(内容搜索),搜索速度极快,支持实时增量搜索,搜索结果可直接进行复制、删除等操作。
-
支持插件扩展:通过 Lua 脚本自定义 UI 组件、预览器和文件操作逻辑,社区有丰富的主题和插件,可根据自己的需求个性化配置。
5. 其他实用功能
-
多标签页支持:可同时打开多个标签页,切换不同目录,避免频繁切换终端窗口,适合多任务并行开发。
-
任务管理:复制、剪切、删除等操作会在后台执行,按
w可查看实时进度,支持取消正在执行的任务,避免误操作导致的时间浪费。 -
主题自定义:通过
theme\.toml配置主题配色、界面比例,可根据自己的终端配色自定义 Yazi 界面,颜值与实用性兼备。
三、新手避坑指南:这些问题一定要注意
在使用 Yazi 的过程中,我踩过几个新手常见的坑,整理出来分享给大家,帮大家少走弯路:
-
图标显示异常:如前文所说,是因为终端字体不支持 Nerd Font,安装对应字体并配置后即可解决,这是新手最容易遇到的问题。
-
预览功能失效:如果无法预览图片、视频或 PDF,大概率是缺少对应依赖(如 chafa、ffmpeg、poppler),重新安装对应依赖即可,macOS 用户可通过 brew 一次性安装所有核心依赖。
-
退出后无法自动切换目录:忘记配置 Shell 包装函数,按照前文的方法添加包装函数到对应的 Shell 配置文件(.zshrc、.bashrc 等),并生效即可。
-
快捷键无响应 :检查是否与其他终端工具的快捷键冲突,或修改
keymap\.toml重新配置快捷键。
四、总结:为什么推荐开发者使用 Yazi?
使用 Yazi 一段时间后,它已经成为我终端必备工具,总结下来,它的核心优势的就是"高效、流畅、贴合开发者习惯":
-
Rust 编写 + 异步 I/O,启动快、操作流畅,无卡顿,处理大量文件也能轻松应对;
-
全能预览功能,终端内可查看几乎所有类型文件,无需启动外部工具,节省时间;
-
Vim 式全键盘操作 + 多工具联动,贴合开发者使用习惯,大幅提升操作效率;
-
高度可自定义,主题、快捷键、插件均可按需配置,满足不同开发者的需求;
-
跨平台支持,macOS、Linux、Windows 均可使用,无缝适配不同开发环境。
如果你也是常年与终端打交道的开发者,厌倦了繁琐的文件操作,想要提升终端效率,强烈建议试试 Yazi------它不会让你失望。安装简单、上手容易,用一次就能感受到它的强大,从此告别传统终端文件管理器的繁琐,让终端文件管理变得高效又轻松。
最后,附上 Yazi 官方地址和文档,大家可以根据文档进一步探索更多高级功能:
-
官方 GitHub:https://github.com/sxyazi/yazi
如果大家在使用过程中遇到其他问题,欢迎在评论区留言交流,一起解锁 Yazi 的更多用法~