惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
H
Hacker News: Front Page
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
博客园 - 叶小钗
Last Week in AI
Last Week in AI
Recent Announcements
Recent Announcements
P
Palo Alto Networks Blog
Webroot Blog
Webroot Blog
Hacker News: Ask HN
Hacker News: Ask HN
IT之家
IT之家
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Threat Research - Cisco Blogs
C
CERT Recently Published Vulnerability Notes
Google DeepMind News
Google DeepMind News
Hugging Face - Blog
Hugging Face - Blog
H
Help Net Security
P
Privacy & Cybersecurity Law Blog
C
Cisco Blogs
罗磊的独立博客
The GitHub Blog
The GitHub Blog
M
MIT News - Artificial intelligence
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
Y
Y Combinator Blog
AWS News Blog
AWS News Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
K
Kaspersky official blog
博客园 - 司徒正美
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Security Archives - TechRepublic
Security Archives - TechRepublic
The Last Watchdog
The Last Watchdog
Jina AI
Jina AI
MyScale Blog
MyScale Blog
TaoSecurity Blog
TaoSecurity Blog
大猫的无限游戏
大猫的无限游戏
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cisco Talos Blog
Cisco Talos Blog
美团技术团队
T
Tor Project blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 【当耐特】
博客园 - 聂微东
V2EX - 技术
V2EX - 技术
I
Intezer
V
Visual Studio Blog
酷 壳 – CoolShell
酷 壳 – CoolShell

暗无天日

读:AI Agent 安全日志——从可见性与隐私的两难说起 - 暗无天日 AI写作的语言指纹——如何让文字不那么像机器 - 暗无天日 读:50 条 Claude Code 技巧——一个工程经理的六个月使用心得 读:AI 辅助开发为什么让 E2E 测试更有价值 - 暗无天日 读:在Emacs中使用Claude Code(Spacemacs适配版) - 暗无天日 Claude Code 背后的工程哲学——读 Agent Harness Engineering 读:Agent Harness Engineering——AI 智能体不只是模型,还有套件 - 暗无天日 browser-harness:让 AI 直接接管你的浏览器 - 暗无天日 读:Security-First CI/CD —— DevSecOps 自动化实践指南 TIL: 数字小键盘的小数点陷阱与行内算术求值 - 暗无天日 读:Immutability 不是万能药,它是一种权衡 - 暗无天日 Conducty:给 Claude Code 加上项目记忆和并行执行能力 - 暗无天日 读 — GitHub Trending 里的 Claude Code 技能包 读 — Prompt Caching 省钱指南 TIL: Emacs 中那些跟鼠标配合的冷门快捷键 - 暗无天日 读:Anvil——把 Emacs 变成 AI 的工具服务器 读:Emacs 代码折叠终极指南 - 暗无天日 读:Clojure 搭车客指南 - 暗无天日 git推送失败后恢复仓库损坏的完整记录 - 暗无天日 多智能体系统的两个有效模式——以及对 Claude Code 用户的启示 - 暗无天日 用 Org Babel 写 Literate 博文:扩展执行 + 定制导出 proced:Emacs 内置的进程查看器 - 暗无天日 从 proced 定制中学到的 Elisp 模式 读:让 Emacs proced 在 macOS 上显示 CPU 和内存 异步编程的函数着色税 - 暗无天日 链式调用的代价:JavaScript 和 Clojure 的共同教训 - 暗无天日 hyperfine:命令行基准测试工具 - 暗无天日 管道中的变量去哪了?——子 shell 作用域陷阱 - 暗无天日 开源包装器的信任陷阱:四个危险信号 - 暗无天日 程序员愿意为 AI 写文档,却不愿为同事写 - 暗无天日 mktemp: Shell 脚本中临时文件的安全陷阱与最佳实践 - 暗无天日 WSL9x —— 在 Windows 9x 里跑 Linux 内核 6.19 用 ox.el 做你想做的事 —— org-export 高级编程指南 读:Hot-wiring the Lisp Machine —— 用纯 Elisp 构建零依赖的 Org 静态站点生成器 Elisp 性能优化的六个实战教训 - 暗无天日 fcitx5 下 Emacs 无法切换输入法的排查 - 暗无天日 ERT 测试交互命令的三种方式 - 暗无天日 SEM Assistant: 当 Elisp 守护进程遇上 LLM 用 dmsg 给 Elisp 加上结构化调试日志 用 org-habit 追踪非每日习惯 - 暗无天日 Clojure X-Men:当编程语言特性变成超能力 - 暗无天日 TIL: 用 diff-hl 在 fringe 中显示 git 变更 读:llm-test —— 用 LLM agent 驱动 Emacs 测试 TIL: AI 时代的橡皮鸭调试 - 暗无天日 fcitx 启动后键盘输入卡顿的排查 - 暗无天日 TIL: 早期网页的图片热区导航 - 暗无天日 读 Seeing the Whole System 用 Emacs 自动生成每周链接推荐 - 暗无天日 读:ASCII control characters in my terminal 读 What to learn - 暗无天日 Lisp 的括号之痛——一个愚人节玩笑揭开的老伤疤 - 暗无天日 一本书该"线性读"还是"并行读" - 暗无天日 读 How to Monetize a Blog:一篇伪装成变现指南的讽刺文 Python Mock 第三方依赖的四种策略 - 暗无天日 Emacs Lisp 热重载实用指南 - 暗无天日 Prot 的 Emacs 配置哲学 - 暗无天日 TIL: 从直播对谈中学到的三个 Emacs 技巧 - 暗无天日 TIL: 自动使用项目虚拟环境的 Python - 暗无天日 TIL: 让 Help buffer 自动获得焦点 一条命令让本地开发用上 HTTPS —— slim 工具介绍 用 fsck 检查和修复 Linux 文件系统 排查Linux进程"卡死"实战:从strace到gdb全流程 - 暗无天日 PostgreSQL 索引:从基础到你可能不知道的高级用法 - 暗无天日 用 .pdbrc 自定义 Python 调试器 ANSI 转义码的标准化现状 - 暗无天日 终端程序的潜规则 - 暗无天日 PARA Org-mode 测试配置 - 暗无天日 AI越强越辣鸡?控制论说这是必然的 - 暗无天日 AI 越强越需要你盯着——反馈循环实操指南 - 暗无天日 你的AI代理正在偷你的密钥——四种你没想到的泄露通道 - 暗无天日 LLM 在 DevOps 中的三种角色 - 暗无天日 写作风格的反建议 - 暗无天日 反驳本质复杂性——Dan Luu 论为什么《没有银弹》错了 - 暗无天日 文件充满了危险——Dan Luu 谈文件系统的可靠性陷阱 - 暗无天日 AI 时代的 PARA 方法:用 Org-mode 和 AI 打造个人知识管理系统 Linux 数据去重学习笔记 - 暗无天日 创建跨平台 ZIP 文件的隐藏陷阱:Extra Field - 暗无天日 X11 Forwarding 排障指南 - 暗无天日 IP欺骗端口扫描:当别人冒充你去扫描别人 - 暗无天日 Linux 输入栈全景解析:从硬件按键到屏幕响应 - 暗无天日 Unix 系统中那些被埋没的配置开关——以 FontConfig 为例 - 暗无天日 在Linux上限制儿童使用电脑 - 暗无天日 GIF不仅仅是一种图片格式——用GIF流做些奇怪的事 - 暗无天日 Leiningen 学习笔记:Clojure 项目构建与管理从入门到实战配置 - 暗无天日 Google SRE Book 读书笔记 - 暗无天日 yes 管道 head 发生了什么 - 暗无天日 为什么 nohup 在 crontab 中不起作用 Bash中的Indirection与Nameref - 暗无天日 Linux PAM 简介 - 暗无天日 从Linux ISO文件启动计算机 - 暗无天日 用 Bash 打造一个Screen Locker 用GitHub Actions自动构建EGO博客 - 暗无天日 blocking I/O 的作用 - 暗无天日 mobileog 手机端同步提示Error:2 No such file 的解决方法 回收 WSL2 VHDX 文件占用空间 使用 org-mode columnview 生成任务列表 - 暗无天日 Emacs 作为 MPD 客户端 - 暗无天日 移动文件路径却不破坏org file link的方法 - 暗无天日 如何合理的导出help link 成HTML - 暗无天日 笑话理解之Biology - 暗无天日
读:Yazi——在终端里管理文件的新选择 - 暗无天日
2026-05-10 · via 暗无天日

原文(It's FOSS) 的作者分享了自己试用 Yazi 的体验。Yazi 是一个终端下的文件管理器,用 Rust 写的。我第一次听说它时心里想的是:终端文件管理器又不是什么新鲜东西,ranger、nnn、lf 都在那儿摆着,Yazi 能有什么不一样?读完发现它的差异化做得相当到位,值得写一篇上手参考。

安装

Yazi 在 Arch Linux、Void Linux、OpenSUSE Tumbleweed 等的官方仓库里都有。Arch 上安装时需要把依赖也带上,很多高级功能(图片预览、压缩包预览、语法高亮)都靠这些外部工具支撑:

sudo pacman -S yazi ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick

每个依赖的作用:

  • ffmpeg :视频缩略图
  • 7zip :压缩包预览和解压
  • jq :JSON 语法高亮
  • poppler :PDF 预览
  • fd :文件名搜索( find 的现代替代)
  • ripgrep :文件内容搜索( grep 的现代替代)
  • fzf :模糊搜索
  • zoxide :智能目录跳转(自动记录你常去的目录)
  • resvg :SVG 图片预览
  • imagemagick :通用图片处理

Ubuntu 可以用 snap 安装:

sudo snap install yazi --classic

再安装依赖包:

sudo apt install ffmpeg 7zip jq poppler-utils fd-find ripgrep fzf zoxide imagemagick

如果你的发行版仓库里没有 Yazi,直接去 GitHub Releases 下载二进制文件,给执行权限就能跑。

启动脚本:退出时自动 cd 到当前目录

Yazi 本身只是一个文件管理器,退出后你的终端不会自动进入你最后浏览的目录。要解决这个问题,原文推荐在 shell 配置文件中加一个 wrapper 函数:

function y() {
        local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
        command yazi "$@" --cwd-file="$tmp"
        IFS= read -r -d '' cwd < "$tmp"
        [ "$cwd" != "$PWD" ] && [ -d "$cwd" ] && builtin cd -- "$cwd"
        rm -f -- "$tmp"
}

这个 wrapper 做了四件事:

  1. mktemp 创建一个临时文件,用来存放 Yazi 退出时的目录路径
  2. 启动 Yazi 时传 --cwd-file 参数,Yazi 退出时会把最后所在的目录路径写入这个临时文件
  3. 读取临时文件中的路径,如果路径有效且不等于当前目录,就 cd 过去
  4. 删除临时文件

把这个函数加到 ~/.bashrc~/.zshrc 里,重启 shell 后输入 y 就能启动 Yazi。

有两点注意:小写 q 退出会 cd 到新目录,大写 Q 退出会留在原目录。另外 command yazicommand 前缀是防御性的,防止 shell 递归调用。虽然函数名已经是 y 而不是 yazi ,但如果有人把函数名改成 yazi ,不加 command 就会死循环。

功能亮点

图片和文件预览

Yazi 的预览功能依赖前面安装的那一坨外部工具。只要依赖齐全,它能在右侧分栏预览大部分文件类型:

  • 图片(需要终端支持图片协议,如 Kitty、Ghostty)
  • 代码文件(语法高亮)
  • 压缩包内容(不解压直接看里面有什么)
  • PDF 文档

预览时按 Shift+J 向下滚动、 Shift+K 向上滚动。

目录快速跳转

g 再按空格,弹出路径输入框。输入绝对路径或相对路径,Yazi 会自动补全匹配的目录名。平常我们 cd 敲路径、 ls 看一眼、再 cd ……反复折腾。Yazi 的自动补全把中间步骤全省了。

文件搜索

Yazi 有两种搜索方式:

  • s :按文件名搜索。背后调 fd ,比传统的 find 快得多,因为 fd 默认跳过 .gitignore 中的文件和隐藏目录
  • S :按文件内容搜索。背后调 ripgrep ,比 grep 快,默认会忽略 .git 、二进制文件和无用的系统文件
  • Ctrl+s :取消当前搜索

两种搜索都支持正则表达式。

批量重命名

Yazi 的批量重命名思路务实:直接打开你的终端编辑器,把文件名列表交给你编辑,保存退出就完事。操作步骤:

  1. 按空格选中要重命名的文件(选中状态跨目录保持,你可以从不同目录挑选文件)
  2. r ,Yazi 会在 $EDITOR 中打开一个文件名列表
  3. 在编辑器中修改文件名,保存退出(Vim 里就是 :wq

省去了传统做法里写循环、调 rename 命令的步骤。唯一的注意点:如果你从不同目录选了文件,文件名前会带路径,改的时候别动路径部分就行。

模糊搜索和 zoxide 集成

  • z :在当前目录中模糊搜索文件,背后调 fzf 。文件名记不全的时候用
  • Z :跳转到 zoxide 追踪的目录。 zoxide 是一个智能 cd 替代,它会自动记录你去过的目录并分析访问频率,你输入几个字母就能跳到你最常去的匹配目录

这两者解决的是不同层面的"找东西"问题: z 在当前目录找文件, Z 在整个文件系统中找你常去的目录。

多标签

t 打开新标签,每个标签有独立的浏览位置。用数字键在标签之间切换( 123...), Ctrl+C 关闭当前标签。这跟浏览器的标签逻辑完全一样,上手零成本。

更多功能

Yazi 还支持标准的文件操作(复制、粘贴、剪切)、可视模式选中、按键帮助( F1 弹出完整按键列表, ESC 返回)。如果记不住快捷键,随时按 F1 查看就行。

是否值得用

本文作者正在构建一个全 TUI 工作流:Helix 写代码、Glow 预览 Markdown、Yazi 管理文件。如果你的日常也大量待在终端里,Yazi 比其他终端文件管理器的优势是功能密度:安装加依赖后,图片预览、代码高亮、搜索、批量重命名全都有了,不需要额外配置插件。

当然,如果你本来就是 lscdmv 走天下的极简派,或者已经深度定制了 ranger 的配置,Yazi 可能没那么大吸引力。但对想找一个功能齐全、配置量小的终端文件管理器的人来说,装好依赖就能用,上手成本很低。