恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
从选文件到批量处理:Yazi 终端文件管理器的外部工具集成实战
首页
资讯中心
/
从选文件到批量处理:Yazi 终端文件管理器的外部工具集成实战
从选文件到批量处理:Yazi 终端文件管理器的外部工具集成实战
发布时间:2026/8/31 7:48:25
从选文件到批量处理Yazi 终端文件管理器的外部工具集成实战【免费下载链接】yazi Blazing fast terminal file manager written in Rust, based on async I/O.项目地址: https://gitcode.com/GitHub_Trending/ya/yaziYazi 是一款用 Rust 编写的终端文件管理器基于异步 I/O浏览大目录不卡顿。它的另一个亮点是外部工具集成编辑、搜索、解压、批处理都能挂到你自己的命令上。本文以实际工作流为主线讲清楚 Yazi 的 opener 配置、快捷键绑定和 shell 集成怎么写看完就能在终端里搭起一套顺手的文件工作流。用 rg 全文搜索替代翻目录终端重度用户最熟悉的场景在一个大仓库里找一段字符串。用 Rar 之类老派文件管理器你只能一层层进目录肉眼扫Yazi 把s和S默认绑给了 fd 和 ripgrep按下S输入关键词右侧文件列表直接过滤出内容命中的文件光标选中后回车进上下文。前提是装好这两个工具# 以 Debian/Ubuntu 为例 sudo apt install fd-find ripgrepYazi 在找不到 fd/rg 时会回退到系统原生命令但速度明显下降。建议把fd、rg装进 PATH之后在 Yazi 里S搜内容、s搜文件名都走快路径。改默认编辑器两个地方都要对Yazi 打开文本文件的命令写在 opener 配置里。默认值长这样取自 yazi-default.toml[opener] edit [ { run ${EDITOR:-vi} %s, desc $EDITOR, for unix, block true }, ]${EDITOR:-vi}的意思是读了环境变量EDITOR就用它没设就退回vi。所以最小改法是在~/.bashrc里加一句export EDITORcode或nvim重启终端后 Yazi 按O打开文件就换编辑器了。想更精细比如给图片绑feh、给 PDF 绑zathura就在自己的~/.config/yazi/yazi.toml里加 opener 规则和[open]里的 mime 匹配规则写法可以直接抄仓库 preset 文件当模板改工具名和参数即可。把 ffmpeg 这类批量工具挂到快捷键上Yazi 的快捷键文件是 keymap-default.toml格式非常直白on是键run是要执行的命令。run里支持shell命令和插件调用。想把选中多个 mp3一键批量压缩做成一个键写法大致是{ on b, run shell ffmpeg -i %f -c:a libmp3lame -q:a 6 %f.tmp mv %f.tmp %f, desc Compress mp3 }%f会展开成当前选中的文件批量选中多个文件时 Yazi 会逐个执行。注意shell命令跑在子进程里命令本身要写成单条可执行语句复杂逻辑建议先写进脚本再在 keymap 里引用脚本路径。日志和异步任务出问题时先看这两处外部工具集成出错多数是命令本身没跑通而不是 Yazi 的问题。两条排查路径日志文件Yazi 用--logdebug启动时会把日志写到~/.local/state/yazi/yazi.log路径逻辑见 yazi-fm/src/logs.rs里面能看到每个 opener 调用的命令和退出码。任务管理器按w打开任务面板正在跑的 shell、下载、预加载任务都会列出来Enter查看输出x取消卡住的进程。如果工具在面板里显示失败优先在普通终端里手工跑一遍那条命令确认参数和占位符展开没问题。上手建议先跑通搜索 编辑这条最短路径装好 fd、ripgrep设好EDITOR在 Yazi 里用S搜、O打开。确认顺手后再往 keymap 里加一两个你自己的批量快捷键。配置只需要动~/.config/yazi/下的文件仓库里的 preset 保持原样即可。【免费下载链接】yazi Blazing fast terminal file manager written in Rust, based on async I/O.项目地址: https://gitcode.com/GitHub_Trending/ya/yazi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考