告别繁琐!这款“鸭子”文件管理器,让你的终端飞起来!
还在用笨重的图形界面文件管理器?是时候拥抱终端的高效了!今天,我要给大家介绍一款名为 Yazi(没错,就是“鸭子”的谐音,听起来是不是很可爱?)的开源终端文件管理器,它将彻底颠覆你对终端文件管理的认知。
Yazi:一只飞速的“鸭子”
Yazi 是一款用 Rust 编写的终端文件管理器,基于非阻塞异步 I/O,旨在提供高效、用户友好且可定制的文件管理体验。想象一下,一只鸭子在你的终端里飞速穿梭,帮你轻松管理文件,是不是很酷?
核心亮点:
- 全异步支持: 所有 I/O 操作都是异步的,CPU 任务分散在多个线程中,充分利用资源,告别卡顿。
- 强大的异步任务调度: 实时进度更新、任务取消和内部任务优先级分配,让你对任务了如指掌。
- 内置多种图像协议支持: 集成了 ü berzug++ 和 Chafa,几乎覆盖所有终端,图片预览不再是难题。
- 内置代码高亮和图像解码: 结合预加载机制,大幅提升图像和普通文件的加载速度,效率飞起。
- 并发插件系统: UI 插件、功能插件、自定义预览器/预加载器/搜索器/获取器,只需一些 Lua 代码即可实现,高度可定制。
- 数据分发服务: 基于客户端-服务器架构(无需额外的服务器进程),集成 Lua 的发布-订阅模型,实现跨实例通信和状态持久化。
- 包管理器: 一键安装插件和主题,保持更新或锁定特定版本,方便快捷。
- 集成 ripgrep、fd、fzf 和 zoxide: 这些强大的工具让文件搜索和导航更加高效。
- Vim 风格输入/选择/确认/通知组件: 路径自动补全,操作更加流畅。
- 多标签页支持、跨目录选择、可滚动预览: 视频、PDF、压缩包、代码、目录等都能轻松预览。
- 批量重命名、可视化模式、文件选择器、主题系统、鼠标支持、回收站、自定义布局、CSI u、OSC 52: 功能丰富,满足各种需求。
如何让“鸭子”飞起来?
安装
Yazi 的安装方式非常多样,几乎支持所有主流操作系统。以下是一些常见的安装方式:
- Arch Linux:sudo pacman -S yazi ffmpeg p7zip jq poppler fd ripgrep fzf zoxide imagemagick
- Nix:# NixOS nix-env -iA nixos.yazi # Not NixOS nix-env -iA nixpkgs.yazi
- Homebrew (macOS):brew install yazi ffmpeg sevenzip jq poppler fd ripgrep fzf zoxide imagemagick font-symbols-only-nerd-font
- Windows: 使用 Scoop:scoop install yazi # 安装可选依赖(推荐): scoop install ffmpeg 7zip jq poppler fd ripgrep fzf zoxide imagemagick 使用 WinGet:winget install sxyazi.yazi # 安装可选依赖(推荐): winget install Gyan.FFmpeg 7zip.7zip jqlang.jq sharkdp.fd BurntSushi.ripgrep.MSVC junegunn.fzf ajeetdsouza.zoxide ImageMagick.ImageMagick
- 其他方式: 还可以通过官方二进制文件、Cargo、源码构建等方式安装,具体请参考官方文档。
温馨提示: 安装 Yazi 前,请确保你已经安装了 file 工具,并且最好安装一些可选的依赖,例如 ffmpeg、7-Zip、jq、poppler、fd、ripgrep、fzf、zoxide、ImageMagick 等,它们将使 Yazi 的功能更加强大。
使用
安装完成后,在终端输入 yazi 即可启动。
基本操作:
- q:退出 Yazi
- ~:打开帮助菜单
- k / ↑:向上移动光标
- j / ↓:向下移动光标
- l / →:进入当前目录
- h / ←:返回上一级目录
- Space:切换选中/取消选中文件/目录
- Enter:打开选中的文件
- y:复制选中的文件
- x:剪切选中的文件
- p:粘贴复制/剪切的文件
- d:将选中的文件放入回收站
- a:创建文件(以 / 结尾创建目录)
- r:重命名选中的文件
- .:切换显示/隐藏文件
进阶操作:
- 多标签页: t 创建新标签页,1-9 切换标签页,[ 和 ] 切换上/下一个标签页。
- 文件搜索: s 使用 fd 按名称搜索,S 使用 ripgrep 按内容搜索。
- 文件过滤: f 过滤文件。
- 文件排序: , + m / M 按修改时间排序,, + b / B 按创建时间排序,, + e / E 按扩展名排序,, + a / A 按字母排序,, + n / N 按自然排序,, + s / S 按大小排序,, + r 随机排序。
- 更多操作: 请参考官方文档和默认的 keymap.toml 文件。
Shell Wrapper:
为了在退出 Yazi 时能够切换到 Yazi 中浏览的目录,建议使用 Shell Wrapper。官方文档提供了 Bash/Zsh、Fish、Nushell、Elvish、PowerShell、Command Prompt 等多种 Shell 的 Wrapper 示例,请根据自己的 Shell 选择合适的 Wrapper。
总结
Yazi 是一款功能强大、高效且可定制的终端文件管理器,它能让你在终端中享受到便捷的文件管理体验。如果你厌倦了图形界面的繁琐,不妨试试这只飞速的“鸭子”,相信它会给你带来惊喜!
项目地址:
https://github.com/sxyazi/yazi
官方文档:
https://yazi-rs.github.io/docs/