跨平台终端文件管理器 Yazi 实测:从安装到美化,彻底告别 Windows 资源管理器
2026/9/24 18:29:46 网站建设 项目流程

"

Windows 自带的文件资源管理器,说句难听的,我忍它很多年了。它倒也不是不能用,但你一旦开始批量整理照片、快速在两个目录间搬运文件、同时要看十几个不同类型的文件预览时,那种迟钝又局促的交互,总会让你觉得这工具停在了上一个时代。后来我养成了一个习惯:每次新装完系统,第一件事就是把默认文件管理器换掉。

这几年跨平台的文件管理器我基本都试过一遍,最后真正留下来并主动向身边人推荐的,反而是个很多人一听就皱眉的方案:一个跑在终端里的跨平台文件管理器,叫 Yazi。它用 Rust 编写,支持 Windows、Linux 和 macOS,整套操作逻辑像为“整理文件”这件事专门设计过一样,用顺手之后基本回不去。这篇文章就把它从安装到美化到日常使用写清楚,同时也聊聊其他值得考虑的跨平台图形界面备选。

1. 先想明白:Windows 文件资源管理器,到底让人难受在哪

1.1 不是性能问题,是交互和视觉双双滞后

Windows 文件资源管理器给我的最大感受,是它什么都想做,但什么都没做精。标签页功能等了好几年才原生加入,之前要找第三方插件;文件预览在图片上还凑合,但遇到代码、JSON、Markdown 这类纯文本,你只能双击打开编辑器才能看到内容;批量重命名虽然能用,但规则极其有限,想按时间戳批量改名还得自己写脚本。

所谓“丑”,其实不只是图标和配色问题。Windows 默认资源管理器的界面密度很低,信息展示效率差,一屏看不到几个文件;右键菜单越堆越长,你常用的操作可能藏在二级菜单里。这些东西叠加在一起,就成了每个工作日都在消耗耐心的小摩擦。

更麻烦的是,它没有跨平台可言。你在这台 Windows 电脑上整理文件是个习惯,到 macOS 上是访达,到 Linux 上又是一套完全不同的风格。每次切换系统都要重新适应,这对同时维护多台机器的人来说非常折磨。跨平台文件管理器的核心价值就在这:同样的操作逻辑、同样的快捷键、同样的布局,走到哪个系统上都能无缝衔接。

1.2 跨平台文件管理器在“跨”什么

市面上标注“跨平台”的文件管理器不少,但实际体验差异很大。有些号称跨平台,实际上只在某一个平台上有完整功能,其他平台要么靠兼容层硬撑,要么界面风格完全割裂。真正值得长期使用的作品,至少要在三个层面做到一致:快捷键体系、配置文件格式、插件和外部工具联动方式。

以 Yazi 为例,它在这三个层面都做得非常干净。配置写在 TOML 文件里,同一套配置丢到 Windows、Linux 或 macOS 上,几乎不用改;快捷键默认是 Vim 风格,跟系统没有强绑定;它本身只是个高效的文件管理外壳,真正干活时调用的是系统里已有的工具,比如用 ripgrep 搜索、用 bat 高亮代码、用 chafa 渲染图片预览,这些工具本身也基本都是跨平台的。所以你会发现,Yazi 的“跨平台”不是吹出来的,而是整个工具链从底层设计上就是平台无关的。

2. Yazi 的核心机制:终端里的文件管理器为什么能这么快

2.1 异步 I/O:操作文件不卡界面

终端文件管理器最大的优势,不是终端本身,而是它省掉了一层 GUI 渲染的开销,同时可以把大量文件操作放到异步线程里执行。Yazi 用 Rust 编写,底层文件操作走的是异步 I/O。这在复制大量小文件时感知特别明显:图形界面的文件管理器经常复制到一半就卡住,窗口不停转圈;Yazi 照样能继续浏览目录、打开文件、预览其他内容,复制任务在后台自己跑。

实际体感上,我在 Windows 上从移动硬盘往 NVMe 固态迁一个几十 GB 的项目文件夹,传统文件管理器复制的时候,你再点其他目录基本要等很久。Yazi 下这个操作完全不影响前台操作,你可以继续预览、筛选、安排下一步动作。这不只是快,而是整个“文件管理”的体验从阻塞式变成了流式。

2.2 和外部工具的原生联动

Yazi 的另一个关键设计,是它不打算什么都自己实现。搜索文件时,它调用外部搜索工具 fd 或 ripgrep,而不是自己维护一套索引;预览代码时,它调用 bat 来做语法高亮;预览图片时,根据终端的支持情况调用 chafa、ueberzugpp 或内嵌图像协议。

这种设计带来的好处是:每个环节都可以换成你最趁手的工具。我不喜欢默认的搜索排序规则,我就去配置里把搜索命令换成 ripgrep,加上自定义参数;我希望能用 VS Code 打开当前文件,就在 opener 配置里加一条code "$@"的规则。整个文件管理器就像积木拼出来的,而不是一个封闭的成品软件。

2.3 配置体系:一切皆可改

Yazi 的配置拆成了三个文件:yazi.toml管核心行为,keymap.toml管快捷键,theme.toml管外观。这种拆分非常符合实际使用逻辑——你不会因为想调个颜色,就冒着破坏按键映射的风险。

对于从图形界面转过来的用户,最友好的一点是,Yazi 不是“非要你用 Vim 那套”,所有键位都能改。默认方案适合熟悉 Vim 的人,但如果你不习惯,完全可以把h/j/k/l改成方向键,把复制、粘贴、删除这些动作映射成你习惯的键。换句话说,你不需要先学会 Vim,再学 Yazi;你可以直接让 Yazi 按你舒服的方式工作。

3. Windows 上从零安装和配置 Yazi

3.1 先把终端和字体补齐

在 Windows 上跑 Yazi,我不建议直接在默认的 conhost 窗口里用。第一件事就是装 Windows Terminal,它对新终端协议的支持更好,尤其是图片预览和丰富的颜色方案。你可以在 Microsoft Store 里直接搜 Windows Terminal 安装,也可以用 winget 装:

winget install Microsoft.WindowsTerminal

第二件重要的事是字体。Yazi 界面要显示文件和文件夹图标,依赖 Nerd Font 字体。不装的话,所有图标都会变成一个个方块,非常影响观感。推荐直接装 JetBrainsMono Nerd Font 或者 Hack Nerd Font,装完之后在 Windows Terminal 的设置里把默认字体改成它。这一步别忘了,不然后面美化的时候总觉得哪里不对。

3.2 安装 Yazi 本体

Windows 下安装 Yazi 有几种方式,我推荐优先用 winget:

winget install sxyazi.yazi

如果你的系统没有 winget,或者更喜欢包管理工具,用 Scoop 也一样顺手:

scoop install yazi

装完之后,在终端里输入yazi --version,能正常输出版本号就说明安装成功。第一次启动时,它会自动在%APPDATA%\yazi目录下建立配置目录。之后你把自定义配置放在这个目录里,覆盖对应的 TOML 文件就行。

3.3 配置文件的初始设置

我建议第一次使用先不要急着改一堆东西,直接跑起来看一眼默认界面。Yazi 默认配置已经足够日常使用,但有两个设置我每次都会立刻改。

第一个是显示隐藏文件。Windows 上有些临时目录、.git目录默认会被隐藏,你在默认资源管理器里还要手动开启“显示隐藏项目”,在 Yazi 里直接改配置更方便。找到yazi.toml,把show_hidden设为true

[manager] show_hidden = true

第二个是排序规则。默认按自然排序,也就是文件名中的数字会按数字大小而不是字符串顺序排列。这个比较符合直觉,但如果你的工作目录里大量文件是日期命名,我建议改成mtime,按修改时间排:

[manager] sort_by = "mtime"

改完之后,记得在 Yazi 里按Ctrl+R重新加载配置,或者干脆退出重进。

3.4 让你的终端“吃”到 Yazi 的目录切换

终端文件管理器有个很大的优点,就是可以直接把当前目录切换到你最后所在的路径。默认情况下,你在 Yazi 里浏览完一个目录,退出后终端还停在你进入前的目录,这就很浪费。

Windows 上解决这个问题很简单,在 PowerShell 配置文件$PROFILE里加一个函数:

function yy { $tmp = "$env:TEMP\yazi-cwd" yazi $args --cwd-file $tmp if (Test-Path $tmp) { $cwd = Get-Content $tmp if ($cwd -and (Test-Path $cwd)) { Set-Location $cwd } Remove-Item $tmp } }

以后进目录就输入yy,退出 Yazi 时,当前目录会自动切换到你最后浏览的位置。这个细节看起来小,但实际用起来,整个“在命令行和文件管理器之间来回切换”的工作流就顺了。

4. 日常操作与工作流:让文件管理不再来回点鼠标

4.1 核心按键逻辑

Yazi 的操作逻辑是典型的 Vim 风格。进入一个目录,按h/j/k/l或方向键能在文件之间移动;Enter进入目录或打开文件;Backspace回到上级目录;空格是选中/取消选中。

最常用的几个动作:

  • y:复制选中的文件或目录
  • x:剪切
  • p:粘贴
  • r:重命名
  • d:删除(也可以改成放入回收站而不是彻底删除)
  • a:新建文件或目录
  • /:在当前目录里搜索
  • f:按文件名过滤,输入关键字立刻缩小列表

跟我一样从 Total Commander 那一套转过来的人,一开始可能不习惯没有双栏界面。但 Yazi 虽然只有一个主列表栏,旁边的预览栏会实时显示当前文件的高亮内容、图片缩略图或目录信息。你不需要来回切换窗口,一眼扫过去就知道这个文件是什么。这一点在整理大量图片素材时尤其高效。

4.2 和各种编辑工具接力

Yazi 不是终点工具,它是整个工作流里的中转站。在文件上按o,它会用默认 opener 打开;在预览代码文件时,它调用的语法高亮工具是 bat;在需要编辑时,我配置了 VS Code 作为默认编辑器。

yazi.toml里可以这么配置不同类型文件的打开方式:

[opener] edit = [ { run = 'code "$@"', desc = "VS Code", block = true }, ]

这样我在 Yazi 里选中文件,按e就能用 VS Code 打开,按Enter则回到终端里用默认程序打开。配置文件的关键是$@会替换成当前选中文件的实际路径,所有带空格的中文路径都能正确处理,不用担心引号问题。

4.3 多目录管理:标签页比双栏更灵活

Yazi 不支持像 Total Commander 那样左右两栏,但它支持多标签页。每个标签页独立保留下落历史,可以同时打开多个项目目录。我常用的姿势是:一个标签页看当前项目的源文件,另一个标签页放素材目录,第三个标签页临时放下载文件夹。

标签页快捷键默认是Tab切换,Ctrl+T新建标签,Ctrl+W关闭。这样你在一个终端窗口里就能同时管理三四个目录,比再开一个资源管理器窗口清爽得多。

5. 在 Windows 上美化 Yazi:让终端界面也能赏心悦目

5.1 字体和终端配色是第一步

“文件管理器太丑”这件事分两层看。一层是默认文件管理器的设计确实老旧,另一层是你对“文件管理”的审美要求已经不局限于桌面图形界面了。终端界面同样可以做得非常有质感,关键是字体、配色、主题三件套。

字体一定用 Nerd Font,这点前面说过,没它图标全变方块。终端配色我推荐 Tokyo Night 或 Catppuccin Mocha,这两个配色方案对比度合适,长时间看也不刺眼。在 Windows Terminal 的 settings.json 里直接选预设主题就能生效。

5.2 调整 Yazi 主题配置

Yazi 的主题文件是theme.toml。你可以把整套 Tokyo Night 的配色方案覆写进去。

比如,把当前目录颜色设成亮蓝色,选中文件的背景色设成深灰蓝,这样视觉焦点非常明确:

[manager] cwd = { fg = "#7aa2f7", bold = true } hovered = { fg = "#c0caf5", bg = "#3b4261", bold = true }

文件类型图标颜色也可以单独设置,图片文件、压缩包、源码文件都可以配不同颜色。这个完全按个人审美来,我自己的原则是:不要超过四种高亮色,重点信息才用亮色,否则和 Windows 资源管理器那种“哪里都亮、哪里都不突出”的效果也没区别。

5.3 终端背景和透明度的微调

Windows Terminal 支持亚克力材质透明效果。在 Windows Terminal 设置里把背景透明度调到 90% 左右,Yazi 的文字会带出一层轻微的毛玻璃质感,视觉上比白底黑字的传统终端高级非常多。

但这里有一个细节要提醒你:开透明效果后,如果同时开了图片预览,预览图也会跟着半透明,看起来发灰,反而不清楚。折中方案是单独给 Yazi 建一个 Windows Terminal 配置页,只在 Yazi 所在的那个标签页里开亚克力效果,其他终端标签保持不透明白底。这样预览图片时不会受影响。

6. 我在 Windows 上踩过的一些坑

6.1 中文文件名乱码

前期版本里,Yazi 在某些 Windows 环境下读取中文文件名会出现乱码,尤其是在系统区域设置不是中文的电脑上。后来这个问题基本修复了,但如果你的系统用的是英文区域,或者安装了多语言包,建议在 Windows 的区域设置里勾选“Beta 版:使用 Unicode UTF-8 提供全球语言支持”。这个选项打开后,终端环境里的编码会统一成 UTF-8,Yazi 的中文文件名、终端命令输出都能正确显示。

6.2 图标显示成方框

这是最常见的问题,十个新手里有八个会遇到。图标全部变成方框,基本只有一个原因:当前终端使用的字体不是 Nerd Font。不要只在 Windows Terminal 的默认配置文件里改字体,你要确认 Yazi 所在的那个终端配置页也用同一个字体。改完字体之后,把 Yazi 完全退出重开,图标就能正常渲染了。

6.3 图片预览黑屏或空白

Yazi 在 Windows 上预览图片,走的是终端图像协议,Windows Terminal 对这块支持比较晚,如果你的 Windows Terminal 版本太旧,就可能出现预览区空白。升级 Windows Terminal 到最新版通常能解决。如果你还在用老的 conhost 窗口,那基本是没办法正常预览图片的,只有换到 Windows Terminal。

另外一个坑是预览大图会非常慢。Yazi 默认会限制预览文件的体积,超过阈值的图片不会渲染。你要是经常预览几百 MB 的 TIF 或 RAW 图,建议在配置里把预览阈值调低,别让它强行渲染大文件,否则会出现明显卡顿。

6.4 鼠标不能用怎么办

终端文件管理器天生是键盘思维的产物,但 Yazi 也不是完全不能点。默认状态下你想用鼠标点击文件,需要先把它切到鼠标模式。只是我自己基本不用鼠标,因为键盘操作一旦习惯,效率完全是另一个层级的:光标移动、选中、复制、粘贴就在大拇指旁边,手不需要离开键盘去抢鼠标。

如果你确实需要鼠标操作,或者你只是先试试水,可以安装一个带图形界面的跨平台文件管理器作为双保险。

7. 给不适合终端的人留一条退路

Yazi 再香,也不可能替代所有人的使用习惯。有些场景确实更适合图形界面文件管理器,比如拖拽文件到第三方聊天窗口、右键快速发送到压缩包、跟云端网盘客户端交互这些操作,终端里还得绕几步。

如果你发现自己实在无法适应终端操作或者键盘逻辑,我推荐关注两款图形界面的跨平台文件管理器。

一款是 Double Commander,经典的双栏布局,Windows/Linux/macOS 通吃,内置批量重命名、文件比较、同步目录这些硬核功能,界面偏传统但胜在稳定可靠。另一款是 muCommander,基于 Java 开发,界面更现代,双栏布局,跨平台支持也不错,适合从 Total Commander 习惯迁移过来的用户。

我自己是这么分工的:日常深度整理项目文件、批量改文件名、跨目录搬运时用 Yazi;偶尔需要和图形界面交互、拖拽上传文件时,再掏出传统文件管理器。

最后几句大实话

从 Windows 默认的文件资源管理器,到一个跑在终端里的跨平台文件管理器,转换过程不是没有成本。Yazi 的上手曲线比双击一个 exe 高不少,你要先习惯键盘操作,要理解配置文件的逻辑,还要接受“不是所有场景都适合终端”这个现实。

但你也得承认,在被 Windows 默认文件管理器“折磨”了这么多年之后,Yazi 带来的这种极速、可定制、跨设备通用的体验,确实是“丑和慢”这类问题的终极解法之一。我个人的体会是,别急着把所有系统上的文件管理方式都换成 Yazi,先挑一台日常用得最多的 Windows 机器装上,把它当作默认终端入口,用上一周再决定要不要全面迁移。多数情况下,用过之后你就回不去原来的操作习惯,这个问题的答案也就清楚了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询