Windows 自带资源管理器用了这么多年槽点攒了一肚子。界面基本还停留在上个时代的审美标签页直到 Win11 才姗姗来迟复制大文件没有队列零碎文件一多整个窗口卡到让人怀疑人生。每天在电脑前工作的人其实都需要一个真正跨平台、颜值能打、用起来顺手的文件管理器把这摊子事一次性解决。今天要聊的主角是 Yazi一个在终端里运行的跨平台文件管理器。它最神奇的地方在于——一个终端程序能把文件预览、批量操作、快速跳转做得比图形界面还顺手而且 Windows、macOS、Linux 通吃我已经把它当主力文件管理器用了半年多回不去了。如果你也是那种每天要跟成百上千个文件打交道的人受够了 Windows 自带文件管理器的卡顿和啰嗦又不想在各大图形文件管理器之间反复横跳换工具那这篇文章应该能帮你打开新世界的大门。下面我会从为什么非要换讲起把方案选型、Yazi 的核心原理、Windows 安装配置、常用操作到踩坑记录一次说清楚。1. 为什么非要换掉Windows自带的文件管理器1.1 默认资源管理器的几个实际痛点先说最直观的界面。Windows 资源管理器的功能区设计信息密度极低一排大图标占了三分之一宽度真正有用的操作却藏得很深。右键菜单更是一言难尽安装软件越多菜单越长而且 Windows 11 那套显示更多选项折叠逻辑等于把一个高频入口活生生变成了高频二次点击。其次是性能。目录里文件一多缩略图生成、排序、滚动都容易出问题。尤其是从 NAS 或移动硬盘打开大目录资源管理器经常会卡在那儿转圈看起来像系统死机。复制大文件时弹一个简陋的进度框没有队列概念你只能干等着中途想取消取消动作本身都能卡住。再就是交互细节。想在两个目录里来回对比文件得开两个窗口然后手动并排复制文件冲突时Windows 的处理方式永远是是/否/全部根本没有保留两者这种符合直觉的选项路径栏复制路径还要右键找半天。这些细碎的摩擦一点点消耗耐心累积到一定程度就值得换了。1.2 市面上替代品我都试过什么为了找到替代方案我把主流跨平台和 Windows 独享的文件管理器基本都折腾了一遍。名称界面形态跨平台上手难度我的评价Files图形 / Win11 风格仅 Windows低颜值确实高但多标签稳定性和性能一般Explorer图形 / 经典双窗格仅 Windows低轻量便携可惜更新停滞很久Double Commander图形 / 双栏Win / macOS / Linux中功能非常全面界面偏老派One Commander图形 / 双栏仅 Windows中功能多但高级功能要付费Directory Opus图形 / 全能仅 Windows高最强图形方案之一价格贵、学习成本高Yazi终端 TUIWin / macOS / Linux中键盘流终局方案本文主角如果你追求长得像现代 App 的图形界面Files 和 One Commander 都不错如果你想要双栏总览Double Commander 性价比高。但我个人折腾下来发现图形类文件管理器始终绕不开一个问题它们还是在用鼠标点来点去本质上没有改变操作模式。真正让我停下来不再折腾的是 Yazi——它把文件管理的操作逻辑整个从用眼睛找图标变成了用键盘直接指挥效率提升是肉眼可见的。2. 为什么是终端文件管理器以及Yazi凭什么好用2.1 终端里的文件管理不是倒退很多人一听终端文件管理器第一反应是这不是倒退吗我明明能用鼠标为什么要用键盘。我一开始也是这个想法直到真正用起来才明白终端恰恰是文件管理器最好的舞台。终端渲染的是字符和固定宽度的色块界面刷新极快不存在 GUI 那种反复重绘的卡顿。现代终端模拟器比如 Windows Terminal、WezTerm、Alacritty都能显示内嵌图片也就是说你在终端里一样可以预览图片、看 PDF 缩略图、看视频封面视觉上并不比图形界面差多少。更重要的是终端意味着整套操作逻辑可以完全脱离鼠标光标一上一下是移动按一下空格选择目标按回车打开按 v 复制、按 x 剪切、按 p 粘贴全都是肌肉记忆根本不用眼睛去找按钮。还有一个容易被忽略的点终端文件管理器天然跨平台。你在这台 Windows 机器上熟悉的操作在 Linux 服务器、WSL、macOS 上完全一致。对于平时要同时维护几台机器的人来说一套操作逻辑通用节省的记忆成本非常可观。2.2 Yazi 的核心设计异步 I/O 与预览体系Yazi 是 Rust 写的底层基于 tokio 异步运行时。这个设计直接解决了传统文件管理器一卡全卡的问题。我打开一个包含几万个图片文件的大目录目录加载和文件预览是两个独立任务加载过程不会阻塞界面你可以继续上下移动、选文件、发命令等目录读完了自然就渲染出来了。复制移动这类耗时操作会进入 Yazi 内置的任务队列后台执行你该干嘛干嘛这在图形文件管理器里几乎是做不到的。再就是它的预览体系。Yazi 默认就能直接预览文本、代码、压缩包内容、图片、PDF、视频帧依赖的后端很小。预览功能不是单独开一个窗口而是直接在右侧面板里实时渲染你光标移到哪个文件右侧就预览哪个文件。对于找资源、审代码、整理素材这类场景这个体验我认为是图形管理器都没做好的。2.3 跨平台到底能跨到哪里Yazi 官方支持 Windows、macOS、Linux以及各类 BSD 系统。配置目录和配置格式在各平台上是完全一致的这意味着你可以把整套配置放进 dotfiles 仓库用 Git 在各个机器之间同步。在 Windows 上用一套键位到了 Linux 服务器上还是这套键位不需要重新学习。需要注意的是不同平台上默认的打开方式路径不同比如 Windows 上默认用 notepad 或资源管理器打开Linux 上默认用 xdg-open。这块我们可以通过 opener 配置分别处理我后面会详细讲怎么配。3. Windows 下快速安装与第一启动3.1 安装方式对比Windows 装 Yazi 非常简单我列一下常见方式方式命令适合场景wingetwinget install Yazi.Yazi系统自带推荐scoopscoop install yazi已有 scoop 的用户chocochoco install yazi已有 choco 的用户手动安装GitHub Releases 下载压缩包需要特定版本我最推荐 winget因为 Win10/Win11 自带装完自动加入 PATH开个新终端窗口直接就能用。装完先验证一下yazi --version能输出版本号就说明安装成功了。这里有一个小细节装完之后已经打开的终端窗口不会立刻识别新命令需要新开一个终端窗口或者执行refreshenv如果装了 chocolatey 的话。如果你人在中国网络环境下GitHub Releases 的下载速度可能不理想这种情况我更建议用 winget 或 scoop它们走的通常是镜像或者 CDN速度相对稳定。当然国内镜像源也很多大家可以根据实际网络情况选择。3.2 把Yazi接入Windows Terminal和PowerShellYazi 是终端程序所以我强烈建议你先用上 Windows Terminal而不是老旧的 conhost。Windows Terminal 支持真彩色、内嵌图片、Unicode 图标字体这些功能直接决定 Yazi 的显示效果。字体方面我推荐给 Windows Terminal 配上 Nerd Font 字体比如 JetBrainsMono Nerd Font 或 CascadiaCode Nerd Font。Yazi 的文件图标和文件夹图标依赖这些字体不装的话界面里会显示一堆方块或问号非常影响观感。接着在 PowerShell 的 profile 里加一个快捷命令。运行notepad $PROFILE如果提示文件不存在先执行New-Item -ItemType File -Path $PROFILE -Force创建。然后在文件里追加function yy { yazi } Set-Alias -Name yz -Value yazi保存后重开 PowerShell直接输入yy或yz就能启动 Yazi。这个方法比每次敲yazi少打几个字而且命令短了更容易形成肌肉记忆。3.3 第一次启动会遇到的小事首次运行 Yazi它会在%APPDATA%\yazi\config下生成默认配置目录里面一般没有现成的配置文件只有 flavors 之类的子目录。不要慌默认行为是可以直接用的只是有些默认键位和预览功能需要你后续再调。第一次看到界面时你可能会觉得就这只有一个目录列表。别急着下结论先按一下方向键上下移动再按回车进目录按Tab进入右侧预览面板。等你体会到光标移动和预览实时联动的感觉大概就能明白我在说什么了。如果界面里文件前面的图标显示成方块说明字体没配对。去 Windows Terminal 的设置里把字体改成一个 Nerd Font重开一下即可。这一步建议在任何深度配置之前做因为图标问题是第一眼就能感受到的体验。4. 核心配置三份文件把Yazi调成顺手的样子Yazi 的配置在 Windows 上位于%APPDATA%\yazi\config里面主要有三个文件yazi.toml管理器行为、keymap.toml键位映射、theme.toml主题配色。这三个文件没有创建时Yazi 会用内置默认值创建后会自动合并覆盖。下面我按重要程度讲一遍。4.1 yazi.toml管理器行为和打开规则yazi.toml是最核心的配置里面管三件事管理器布局、文件排序与显示、opener 打开方式。先说显示和排序。我个人的配置是[manager] sort_by natural show_hidden true linemode size ratio [1, 4, 3]解释一下sort_by natural让文件名按自然顺序排序包含数字的文件名不会出现 file2 排在 file10 后面的情况show_hidden true会直接显示隐藏文件如果你不想看到一堆点开头的配置文件可以改成 falselinemode size让文件列表右侧显示文件大小ratio [1, 4, 3]是左中右三个面板的宽度比例默认的中列占比较小我调大了让它显示更多文件信息。然后是 opener也就是按回车用什么程序打开文件。Windows 上的默认 opener 一般够了但我喜欢把代码文件直接用编辑器打开。配置是这样的[opener] edit [ { run code $, desc 打开 VS Code }, ] arc [ { run explorer $, desc 资源管理器打开 }, ] [open] rules [ { name *.md, use edit }, { name *.txt, use edit }, { name *.js, use edit }, { name *.ts, use edit }, { name *.py, use edit }, { name *.json, use edit }, { name *.toml, use edit }, { name *.zip, use arc }, { name *.tar, use arc }, { name *.rar, use arc }, { name *.7z, use arc }, ]这样我在 Yazi 里浏览项目文件时按回车直接就在 VS Code 里打开对应文件了不用先打开编辑器再导航目录。$在 Yazi 里表示把选中的全部文件路径传给命令单个文件用$1也行。如果文件关联规则匹配不到Yazi 会走系统默认的打开方式Windows 上就是调用资源管理器的关联程序。4.2 keymap.toml键位映射keymap.toml管的是快捷键。Yazi 的默认键位已经非常合理我建议新手先直接适应默认键位用几天再根据痛点改。但有几个地方我确实改过比如我个人不习惯用dd删除而是直接按d删除当前文件可以在keymap.toml里这样加[manager] prepend_keymap [ { on d, run delete, desc 删除选中文件 }, ]prepend_keymap表示把键位绑定加到原有映射之前会覆盖同名键位。还有一个常用操作是刷新目录默认可能是Ctrlr如果你觉得不顺手可以改成prepend_keymap [ { on R, run refresh, desc 刷新目录 }, ]键位映射是整个 Yazi 配置里最值得花时间的地方。因为默认键位不一定符合所有人的手指习惯比如有人习惯 j/k 上下走有人习惯方向键有人希望Space是选中、回车的下一级目录还有人希望Enter既能打开又能进入目录。等你明确了这些差异再慢慢调整效率提升是立竿见影的。4.3 theme.toml 与主题定制Yazi 的颜值一大半在主题上。默认的深色主题已经很干净但你可以去 Yazi 的官方主题仓库找一个更喜欢的 flavor 主题比如catppuccin、dracula、kanagawa、tokyonight这些都是社区维护的漂亮配色。安装步骤很简单把主题目录放到%APPDATA%\yazi\config\flavors\下然后在theme.toml里指定[flavor] dark catppuccin-mocha保存后重开 Yazi 就生效。注意 Yazi 有 light/dark 两种模式如果你平时用 Windows Terminal 的浅色主题可以同时配一个 light 主题。我个人的建议是终端保持深色这样长时间看内容眼睛会舒服很多。另外Yazi 的边框、图标、文件类型颜色都可以在theme.toml里精细调整。如果你对默认图标不满意可以逐项覆盖。不过这些属于锦上添花建议新手先别陷进去把核心操作流程跑通再慢慢调外形。4.4 配置热重载与版本注意Yazi 的配置文件大部分在重开程序后就能生效不需要重启终端或者重启电脑。如果你正在 Yazi 里改了配置可以退出再进入整个流程不到一秒钟。需要特别注意的是 Yazi 的版本升级。从老版本升级后配置格式偶尔会有不兼容的变化尤其是yazi.toml里的字段名字和结构。我建议在升级后先查看官方文档的 changelog再决定要不要保留旧配置。如果你在终端里启动 Yazi 时看到类似无效配置的红色报错大概率是配置格式不匹配了可以备份后直接删除旧配置文件让 Yazi 重新生成默认配置再逐步迁移自定义项。5. 实操用Yazi完成一天的文件管理任务5.1 高频快捷键速查表在讲场景之前先把最常用的快捷键列出来。这是我在 0.3.x 默认配置下日常用得最频繁的键位新手可以先背这一张表就足够撑起基础操作按键功能备注j/k向下 / 向上移动光标等价于方向键上下的效果h/l返回上级 / 进入目录l也可以打开文件Enter打开文件 / 进入目录会走 opener 规则Backspace返回上级目录也返回历史记录Space选中 / 取消选中支持多选v复制选中文件进入剪贴板等待粘贴x剪切选中文件进入剪贴板等待粘贴p粘贴剪贴板中的文件包含之前复制/剪切的内容d删除文件到回收站默认配置如此r重命名当前文件进入重命名编辑状态a新建文件会进入编辑状态m新建目录新版默认键位f过滤器快速过滤文件按名字即时过滤/查找文件输入关键字回车跳转Tab切换面板焦点进入预览面板后可操作:命令模式类似 vim 的命令行G/g跳到列表底部 / 顶部vim 风格CtrlA全选Ctrlr刷新目录网络目录或变更后常用这份速查表不是让你死记硬背而是先记住几个最常用的j/k移动、Enter进入、Backspace返回、Space选择、p粘贴、d删除、f过滤。剩下的等你用的时候自然会发现我想要一个什么操作然后再查键位表或改键位映射。5.2 三个真实场景批量移动、跨盘符操作、快速预览场景一批量移动。比如我有几十个散落在不同目录的图片要归拢到一个文件夹。传统资源管理器的做法是开两个窗口拉滚动条选中然后鼠标拖拽。在 Yazi 里我只需要把光标移到第一个文件上按Space选中继续移动光标继续按Space选中全部选完后按v复制或x剪切然后跳转到目标目录按p粘贴。整个过程手不用离开键盘几十个文件一两分钟就搞定了。场景二跨盘符操作。要把 C 盘桌面的文件夹移到 D 盘或者把 D 盘的资料复制到移动硬盘 E。在 Yazi 里可以先用:cd D:\之类的命令直接切换盘符也可以用h一层层返回直到出现盘符列表再进入目标盘。跨盘符的复制和移动同样走v/x/p这一套挨个粘贴即可。需要注意跨盘符粘贴的时候如果源文件还在原位置这里实际发生的是复制还是移动取决于你按的是v还是x。场景三快速预览。找一个目录光标上下移动右侧预览窗格会实时刷新。看图片能直接看到内容看代码能看到语法高亮看压缩包能直接看到里面有哪些文件。最舒服的是找素材我有一整个图标库目录超过一千个 PNG 文件用 Yazi 上下扫一遍就能快速挑出目标图标这在资源管理器里是根本不敢想的。5.3 与编辑器、Git、压缩包联动Yazi 最大的扩展性在于 open 规则和插件体系。上面已经讲了怎么把*.md、*.js这类文件直接交给 VS Code 打开。如果你用 Neovim可以把edit这个 opener 换成nvim如果你是 JetBrains 系用户可以配置对应的命令行打开器。Git 用户还可以给 Yazi 装插件比如git.yazi它能在文件列表里直接显示 Git 状态哪些文件新增、哪些改动、哪些冲突一目了然。这功能对开发者在文件管理器里快速定位工作区状态非常实用。压缩包处理也是我高频使用的功能。默认 Yazi 可以直接进入 zip 包内部浏览不用解压就能看到文件和目录结构。如果你只是临时确认一下包内容或者想从包里拷出一个文件直接在里面选中、复制、退出到目标目录、粘贴就行。注意直接进入压缩包是只读浏览模式不能在压缩包里做增删改这跟主流压缩软件的行为是一致的。6. 常见问题与排查技巧实录6.1 问题速查表我把实际使用中遇到的高频问题整理一下按现象-原因-解决的方式列出来方便直接踩坑对照。现象可能原因解决办法文件图标显示为方块或问号终端字体不是 Nerd Font在终端里切换成 Nerd Font 如 JetBrainsMono Nerd Font图片预览不显示终端不支持内嵌图片协议 / 旧版 Windows Terminal升级 Windows Terminal 到最新版或换 WezTerm中文文件名显示乱码终端编码或字体问题终端设置 UTF-8字体用中文字体 fallback打开文件用的不是想要的程序opener 规则没匹配上在yazi.toml里给对应扩展名指定 opener配置修改后没生效没重开 Yazi退出 Yazi 重新进入删除文件没有进回收站Windows 下默认删除进回收站但某些版本配置不同检查yazi.toml的trash选项在 WSL 里预览 Windows 文件乱码路径分隔符/权限问题用/mnt/c/...路径访问且提前确认目录有读取权限启动 Yazi 报错提示配置无效版本升级后配置格式不兼容备份配置后删除让 Yazi 重新生成再迁移6.2 我在Windows上踩过的三个坑第一个坑是字体没配对就直接吐槽图标难看。我第一次用 Yazi 时图标全是乱码方块一度觉得这软件徒有虚名。后来查了文档才知道没有 Nerd Font 的锅。所以我在前面反复强调先装好字体再开始体验这一步能减少 80% 的初体验挫败感。第二个坑是跨平台同步配置时写死了 Windows 路径。我最初把 opener 里写的是run C:\Users\xxx\AppData\Local\Programs\Microsoft VS Code\Code.exe $结果这套配置同步到 Linux 上根本不能用。后来我改成优先用命令名而不是绝对路径比如code、nvim、explorer让系统从 PATH 里找。这样配置跨平台就干净多了。如果你必须在不同平台使用不同默认程序建议在规则里按扩展名拆分而不是指望一份配置全平台通用。第三个坑是旧版本配置升级后直接崩。有一次我升级 Yazi 后启动时红字报错分析半天发现是当时yazi.toml里一个字段名变了。从那以后我养成了一个习惯升级前看一眼 changelog升级后如果报错直接改名旧配置目录先跑默认配置确认新版特性再一点点迁移自定义内容。这个方法能让你快速区分是配置坏了还是软件环境坏了。7. 一点关于终端工作流的额外心得现在我的日常基本是这样的打开 Windows Terminal输入yy进入 Yazi所有文件操作都在里面完成需要编辑文件就按回车唤起编辑器需要执行命令就按;弹出 shell需要拷贝路径就按Ctrly之类的快捷键直接拿路径。文件管理从不得不处理的任务变成了不打断思路的流程这是我在图形文件管理器里从来没体验过的流畅感。最后分享一个小技巧如果你已经把终端里的大部分工作流都迁移到 Yazi建议把启动目录固定在你最常访问的工作目录比如yy这个函数改成function yy { yazi $HOME\Documents\work }这样每次打开 Yazi 就直接进入工作区连导航都省了。先明确自己最常待的目录在哪里然后把 Yazi 作为一个常驻窗口来使用效率提升会非常明显。第一次用终端文件管理器确实会有一点别扭但撑过前两小时大概率就回不去了。