x-cmd pkg | yazi - 超快终端文件管理器

简介

yazi 是由 github.com/sxyazi 用 Rust 开发的终端文件管理器,支持预览文本文件、pdf 文件、图像、视频,内置代码高亮功能。在内部,它使用 Tokio 作为其异步运行时,以非阻塞(事件驱动)的方式处理任务,效率高响应快。

TIP:

Yazi 采用了特殊的 Unicode 符号来标识各种类型的文件,这需要终端使用的字体中包含正确的字形才能正常显示。

官方推荐使用 nerd-fonts 字体,你可以从 Nerd Fonts project 网站中获取它。

快速入门

  1. 启动 yazi

    eval "$(curl https://get.x-cmd.com)"    # 安装 x-cmd
    x env use yazi                          # 安装 yazi
    yazi                                    # 直接启动 yazi
    EDITOR='nvim' yazi                      # 设定 nvim 为 yazi 默认使用的文本编辑器并启动 yazi
    

    Tip:

    • Linux/macOS:需要使用 $EDITOR 指定 yazi 调用的文本编辑器。
    • Windows:没有 $EDITOR 的概念,用户需要根据需要修改文本打开器。
  2. 常用快捷键:

    • 目录导航:
      • j:向下移动光标
      • k:向上移动光标
      • h:返回上一级目录
      • l:进入选中目录
    • 处理文件:
      • d:删除选中文件
      • x:剪切选中文件
      • y:复制选中文件
      • p:粘贴文件
      • r:重命名文件
    • 其他:
      • .:显示隐藏文件
      • q:退出
      • ~:打开帮助
      • Z:使用 fzf 跳转到目录或显示文件(需要安装 fzf )
  3. yy shell 包装器,它能提供在退出 yazi 时更改当前工作目录的功能:

    yy() {
        local _yy_tmp=; local _yy_cwd=
        _yy_tmp="$(command mktemp -t "yazi-cwd.XXXXXX")"
        command yazi "$@" --cwd-file="$_yy_tmp"
    
        _yy_cwd="$(cat -- "$_yy_tmp")"
        command rm -f -- "$_yy_tmp"
    
        if [ -n "$_yy_cwd" ] && [ "$_yy_cwd" != "$PWD" ]; then
            command cd -- "$_yy_cwd"
        fi
    }
    yy    # 使用 yy 命令启动 yazi
    

4.使用案例:

在这里插入图片描述

功能特点

  1. 上手简单,使用体验极佳:采用更为现代化的 UI 界面,快捷键设计与 vim 类似,支持批量操作和鼠标滚动,与多个常用工具(如 fdrgfzf)集成,并且支持在 Windows、macOS、Linux 上使用。
  2. 全程异步化:所有的 I/O 操作和 CPU 密集型任务都以异步方式执行,CPU 任务分布在多个线程上,避免了阻塞和资源闲置。
  3. 优秀的异步任务调度和管理:能实时更新进度,支持任务取消,对不同任务能按优先级分配。
  4. 支持多种图像协议:适配多种终端和多路复用器(tmuxzellij),支持多种图像协议并与 Überzug++ 集成,尽可能覆盖所有终端。
  5. 内置代码高亮和图像解码:支持代码语法高亮。结合预加载机制,加速了图像和普通文件的预览加载速度。
  6. 并发式插件系统:支持使用 Lua 制作插件(UI插件、功能插件、自定义预览器和自定义预加载器)。

竞品和相关项目

  1. xplr: 使用 Rust 开发的 TUI 文件管理器。设计理念与 yazi 不同,它强调简洁和可扩展性,功能简单,适合在资源受限的环境中使用。
  2. nnn: 由 github.com/jarun 使用 C 语言开发的终端文件管理器,功能全面,采用 UI 界面更为简约。
  3. superfile: 使用 Go 开发的终端文件管理器,功能齐全,UI 界面非常精致且美观。
  4. broot: 使用 Rust 开发的终端文件管理器,采用树状视图探索文件层次结构、操作文件。
  5. ranger: 使用 Python 开发的终端文件管理器,具有 Vi 风格的键绑定和预览功能,UI 界面在风格上比较复古。
  6. x ls: 由 x-cmd 使用 Posix shell 和 awk 实现的模块,用于以交互式 TUI 的方式查看文件/文件夹的相关信息。

进一步阅读

  • yazi 源代码 - yazi 项目的源代码托管在 GitHub,你可以在这里找到最新版本的 yazi 和参与社区贡献。
  • yazi 官方文档 - 学习和使用 yazi 的官方网站,提供了 yazi 的文档、教程和社区资源。

更多内容请查阅 : pkg/yazi

转载请标明原文链接https://www.x-cmd.com/pkg/yazi


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值