超快的终端文件管理器 | Yazi

875 阅读4分钟

Yazi logo

Yazi logo

Yazi - ⚡️ 极速终端文件管理器

Yazi(意为“鸭子”)是一款基于 Rust 编写的终端文件管理器,采用非阻塞异步 I/O,旨在为用户提供高效、友好且可定制的文件管理体验。相比于传统的文件管理器,Yazi 的设计理念不仅提高了性能,更提升了使用便捷性,尤其适用于处理大量文件和复杂目录结构的用户。

为什么选择 Yazi?

在现代开发和文件管理中,处理文件的效率极为重要。Yazi 的设计充分利用了异步 I/O 的优势,其主要特点包括:

  • 🚀 全面支持异步操作:所有的 I/O 操作都是异步的, CPU 任务在多个线程之间分散,使得可用资源的利用最大化。
  • 💪 强大的异步任务调度与管理:实时更新任务进度,支持任务取消,以及内部任务的优先级分配,让用户对任务的管理更加游刃有余。
  • 🖼️ 内置多种图像协议支持:完美集成了 Überzug++ 和 Chafa,几乎支持所有终端。
  • 🌟 内置代码高亮和图像解码:结合预加载机制,大幅加快图像与普通文件的加载速度。
  • 🔌 并发插件系统:支持重写大部分 UI 的 UI 插件,功能插件,以及自定义预览器/预加载器/探测器/获取器,使用 Lua 语言编写。
  • 📡 数据分发服务:建立在客户端-服务器架构之上,无需额外的服务器进程,利用基于 Lua 的发布-订阅模型实现跨实例通信和状态持久化。
  • 📦 包管理系统:一条命令即可安装插件和主题,并能够保持它们最新,或者锁定到特定版本。
  • 🧰 集成了 ripgrep、fd、fzf 和 zoxide 等工具。
  • 💫 Vim 风格的输入/选择/确认/通知组件,支持路径的自动补全。
  • 🏷️ 支持多标签页、跨目录选择、可滚动预览(适用于视频、PDF、归档文件、代码、目录等)。
  • 🔄 批量重命名、视觉模式、文件选择器。
  • 🎨 主题系统、鼠标支持、废纸篓、自定义布局。

使用 Yazi 的优势

Yazi 的设计目标是提高用户体验,对文件管理的各个方面都进行了深思熟虑的优化:

  1. 实时反馈:用户在进行文件操作时,可以实时看到进度更新,无需长时间等待。
  2. 多样的插件支持:通过 Lua ,用户可以轻松扩展功能,创建个性化的工作流。
  3. 简洁的交互体验:基于 Vim 的操作方式使得许多用户能够快速上手,并享受到高效的操作体验。
  4. 全面的图像支持:在处理需要显示图像的文件时,Yazi 的内置支持确保了高效且直观的视觉反馈。

如何安装 Yazi

要开始使用 Yazi,请按照以下步骤进行安装:

  1. 确保你已经安装了 Rust 工具链。

  2. 使用 Cargo 安装 Yazi:

    cargo install yazi
    
  3. 安装完成后,运行 Yazi:

    yazi
    
  4. 你可以访问 Yazi 文档 来查看更多的设置和配置选项。

Yazi 的实用功能详解

1. 多图像协议支持

Yazi 兼容多种终端的图像展示,下面是支持的协议列表:

平台协议支持
kittyKitty unicode placeholders✅ 内置
iTerm2Inline images protocol✅ 内置
WezTermInline images protocol✅ 内置
KonsoleKitty old protocol✅ 内置
footSixel graphics format✅ 内置
Windows Terminal (>= v1.22.2702.0)Sixel graphics format✅ 内置
VSCodeInline images protocol✅ 内置
HyperInline images protocol✅ 内置
FallbackASCII art (Unicode block)☑️ Chafa required

详细信息可查看 Yazi 图像预览文档

2. 批量操作功能

Yazi 允许用户在文件管理中进行批量操作,诸如批量重命名和内容的可视化选择,让管理大量文件更加高效方便。

3. 多平台支持

Yazi 凭借其异步特性和轻量的设计,能够在多种平台上流畅运行,尤其适合开发者和重度用户。

结语

Yazi 作为一款快速、现代的终端文件管理器,通过异步操作与插件系统,提供了强大的文件管理能力。尽管目前仍处于开发阶段,可能存在一些不稳定性,但它的开源特性和社区支持将不断推动其完善与优化。

同类项目介绍

在高效的终端文件管理器领域,Yazi 还有许多优秀的竞争者,如:

  • Ranger:一个基于命令行的文件管理器,具有强大的插件系统与文件预览能力。
  • nnn:一款轻量级的终端文件管理器,专注于速度,具有丰富的插件和扩展能力。
  • lf (list files) :灵活且具有高度可定制性的文件管理器,强调模糊搜索易操作。

这些工具各有特色,能够满足不同用户的需求,适合根据个人的使用习惯进行选择。