在 GUI 下,通常已经有了不错的文件管理器比如 Dolphin、Thunar 或者是 Windows 下的 explorer,MacOS 的 Finder。他们最大的缺点就是臃肿且极其依赖鼠标,尽管有好看的窗口但使用起来不够连续,一些笨拙的拖动也非常难受。在终端下,通常都是用 shell 提供的一系列命令操作,配合 tab 补全和各种搜索脚本也还算可以。同时呢,终端也是有不错的文件管理器的,它们有着极高的定制化能力,高效率的纯键盘操作和极客感。
前几年一直都是使用 ranger 作为终端的文件管理器,但一直没有将它用到极致,总感觉缺了些什么。不过 ranger 最大的缺点就是 python 编写的性能太差劲了。在 TheCW 的推荐下尝试了 Yazi,yazi 可以说是当下最完美的文件管理器。
概览
和 ranger 一样的三段式排列。通过 yazi.toml 的 ratio 项可以调节三段比例。
|
|
底部的状态栏是 llanosrocas/yaziline.yazi。 从左到右分别是 yazi 模式、选中文件大小、选中文件名称、选择剪贴数量 和 文件修改日期、文件权限、位置。
顶部左上角显示目录路径,左上角显示当前分区剩余空间。
基本操作
yazi 使用 vim 键位,比如 v 选择、y 复制、x 剪贴。j/k 上下选择文件,l/h 前进后退跳转目录,但是到文件按 l 是不能打开文件的,需要使用 enter 或 o 键。对文件夹执行这样的操作是用 neovim 打开。而 这两个键加上 shift 会打开小菜单:

按 tab 键可以查看文件信息

打开方式
yazi 的打开文件根据 FreeDesktop 的文件关联选择相应的程序打开文件。
一般在 ~/.config/mimeapps.list 内。的 [Default Applications] 栏。
插件
yazi 最强大的地方莫过于其丰富的插件系统,目前我所安装的插件有如下多个:
|
|
yazi-rs/plugins:git
在文件列表中显示每一行文件的 git 文件更改状态。
walldmtd/fs-usage
在右上角显示当前分区使用情况。
yazi-rs/plugins:full-border
为 yazi 提供全边框
macydnah/office
提供 docx, pptx, xlsx 等办公套件的预览支持
grappas/wl-clipboard
提供 wl-clipboard 系统剪贴板支持,使用 c + w 复制文件本身到系统剪贴板。
uhs-robert/recycle-bin
借助 trash-cli 程序查看、管理回收站。
R + b 打开回收站管理菜单:
- o 打开回收站
- r 恢复在回收站选中的文件
- d 删除在回收站选中的文件
- e 清空回收站
- D 删除指定时间外的回收站文件
uhs-robert/sshfs
在 yazi 里的 sshfs 整合。
yazi-rs/plugins:chmod
修改选择文件的权限,通过 c + m 键。
比如 g+r 是添加组的读权限,o-x 删除其他人的执行权限。
yazi-rs/plugins:mount
挂载管理器,可以提供磁盘的挂载、卸载和弹出功能。
键入 m + d 打开挂载面板。
m 挂载,u 卸载,e 弹出。