Skip to content
0

Yazi

如果你已经在使用 Neovim,如果你碰巧也在使用 NvimTree 插件,那么你一定要试用一下 Yazi,因为 Yazi 有 90% 的快捷键是跟 Neovim 相同的。

什么是 Yazi

Blazing fast terminal file manager written in Rust, based on async I/O.

安装

记得查看 官方文档

Install with Scoop

看官方文档。

Install with WinGet

看官方文档。

  1. C:\Program Files\Git\usr\bin 添加至环境变量(漏掉这一步的话,在 yazi 内部无法通过 EnteroO 打开文件)
  2. 安装 yazi 和批量依赖
    sh
    winget install sxyazi.yazi
    # Install the optional dependencies (recommended):
    winget install Gyan.FFmpeg 7zip.7zip jqlang.jq sharkdp.fd BurntSushi.ripgrep.MSVC junegunn.fzf ajeetdsouza.zoxide ImageMagick.ImageMagick
  3. 下载 poppler-windows 下的 Release-24.08.0-0.zip,解压缩,把 Library/bin 目录添加至环境变量(之后,可以正常预览 PDF 文件)
  4. 下载 resvg 下的 resvg-0.45.1.tar.xz,解压缩

注意:记得手动检查环境变量里面是否有添加 jq 和 ffmpeg 的安装路径。若无,请手动添加这两个安装路径至环境变量。

配置

  • Windows 系统,在 C:\Users\USERNAME\AppData\Roaming\yazi\config\ 创建配置文件
  • macOS 系统,在 ~/.config/yazi/ 创建配置文件

yazi.toml

toml
[mgr]
ratio = [2,2,4]
show_hidden = true
show_symlink = true

[opener]
edit = [
	{ run = '$EDITOR "$@"', block = true, for = "unix" },
	{ run = "%EDITOR% %*",  block = true, for = "windows" },
]
open = [
	{ run = 'zathura "$@"', block = true, mime = "application/pdf" },
	{ run = 'open "$@"', desc = "Open", for = "macos" },
]

当 Yazi 的文档建议安装 Poppler 时,其用途是为了在 Yazi 的用户界面内进行 内部文件预览,而不是用于在另一个独立的窗口中打开文件。

以下是这两个不同功能的详细说明:

  1. 预览 (在 Yazi 内部)

    • 它是什么: Yazi 有一个预览窗格,可以在不打开文件的情况下显示其内容
    • 它如何处理 PDF: Yazi 本身无法在终端中渲染复杂的 PDF 文件。因此,它依赖外部的命令行工具将 PDF 转换成它能够显示的简单格式
    • Poppler 的作用: Poppler 软件包提供了一个名为 pdftotext 的实用工具。Yazi 的预览器会调用 pdftotext 来处理选定的 PDF 文件,提取其中的纯文本,然后将这些文本显示在预览窗格中。对于支持图像预览的终端(如 Kitty 或 iTerm2),Yazi 也可能使用 Poppler 的另一个工具 pdftoppm 将 PDF 的第一页渲染成图像进行预览
    • 结果: 您可以在文件管理器内部快速浏览 PDF 的内容(通常只有文本)
  2. 打开 (使用外部应用程序)

    • 它是什么: 这是当您在文件上按 Enterl 键时发生的操作。它会启动一个完全独立的应用程序来查看该文件
    • 它如何工作: 这个行为由您 yazi.toml 文件中的 [opener] 部分控制。Yazi 只是将文件路径传递给您指定的命令(例如 zathuraopenxdg-open
    • Zathura/Preview 的作用: Zathura 是一个功能齐全的文档查看器。它是一个独立的 应用程序,它内部可能使用 Poppler 库来渲染 PDF,但它本身是一个独立的程序。macOS 的“预览”应用则使用苹果自己的 Quartz 渲染引擎
    • 结果: 一个在 Yazi 之外的新窗口会打开,显示完整的 PDF,包含所有格式、图形和交互功能
  3. 总结

    功能预览 (Preview)打开 (Open)
    目的快速查看文件内容完整的阅读和交互
    位置在 Yazi 的 UI 窗格内部一个独立的外部应用程序窗口
    使用的工具Poppler 的命令行工具 (pdftotext)一个查看器应用程序 (Zathura, Preview)
    配置方式Yazi 的内部预览器设置(通常是自动检测)yazi.toml 文件中的 [opener] 部分

总而言之,您需要 Poppler 是为了让 Yazi 向您展示 PDF 的预览,而您需要 Zathura(或其他查看器)是为了让 Yazi 为您打开 PDF 以供阅读。

theme.toml

  1. cd C:\Users\USERNAME\AppData\Roaming\yazi\config\
  2. mkdir flavors
  3. ya pack -a yazi-rs/flavors:catppuccin-macchiato
  4. add into theme.toml
    toml
    [flavor]
    dark = "catppuccin-macchiato"
    light = "catppuccin-macchiato"
最近更新