养虾日记配套工具:我写OpenClaw自动化脚本、Go开发天天用的终端神器,2分钟装好,拿来就能用
上一篇给大家分享了bat + eza,替代了系统自带的cat和ls,装上之后,想必你的终端体验直接上了一个台阶。
今天继续更新《极客工具库》系列,给大家分享两个我用了多年、每天必敲的终端神器:fzf + rg,直接换掉你天天用的cd和grep。
作为天天和终端打交道的开发者,你肯定遇到过这些痛点:
- 目录层级太深,
cd来回切,输路径输到崩溃 - 找之前敲过的命令,按上箭头翻半天,翻到眼花也找不到
- 用
grep在项目里搜代码,慢到怀疑人生,还搜不到隐藏文件 - 找文件全靠
ls一个个翻,效率低到离谱
这两个神器,完美解决上面所有问题,每天至少帮我省2小时的无效操作。
保姆级教程安排上,2分钟就能装好,全平台兼容,零代码基础也能跟着做。
一、fzf:终端模糊搜索神器,告别无效cd/翻历史命令
fzf是一款GoLang开发的终端通用模糊搜索工具,号称「终端搜索瑞士军刀」,核心解决「找文件、找目录、找历史命令慢」的痛点,是我打开终端必用的工具。

1. 特性
- 小巧便携: 作为单一二进制分发,便于安装
- 极速高效: 支持即时搜索几百万的数据
- 可扩展: 通过事件-行为绑定机制完全实现自定义
- 支持各个主流终端: 包含 Bash、Zsh、Fish、Vim 和 Neovim 的集成
2. 一键安装命令
- MacOS:
1brew install fzf
- Windows
1winget install fzf
- Ubuntu/Debian:
1apt install fzf
- CentOS/RHEL:
1dnf install fzf
安装完成后,执行这条命令,启用自动补全和快捷键绑定,一劳永逸:
1$(brew --prefix fzf)/install --all
执行完重启终端,就能直接用了。
2. 3个我天天用的核心实战用法
用法1:一秒搜索历史命令,告别疯狂按上箭头
这是我用得最多的功能,没有之一。
在终端里按下Ctrl + R,会直接弹出fzf搜索窗口,输入你记得的命令关键词,会实时模糊匹配所有历史命令,上下箭头选中,回车直接执行。
比如我想找之前敲过的OpenClaw相关命令,只需要输入openclaw,所有相关命令都会列出来,再也不用按上箭头翻半天了。
用法2:一键跳转任意目录,告别反复cd
不用再记复杂的目录路径,不用一级一级cd,配合zoxide(后续会讲),一键跳转到你想去的任何目录。
按下Alt + C,弹出fzf目录搜索窗口,输入目录名关键词,回车直接跳转到对应目录。
我管理Go项目、OpenClaw配置文件夹,全靠这个功能,再也不用cd ../../..来回切了。
用法3:搜索并打开文件,配合bat效果拉满
fzf可以完美配合我们上一篇讲的bat,实现「搜索文件→预览内容→打开编辑」全流程,一行命令搞定。
我常用的命令,大家可以直接抄作业:
1# 搜索文件,用bat预览内容,回车打开
2fzf --preview 'bat --color=always {}'
在Go项目里找代码文件、OpenClaw配置文件,用这个命令,一秒定位,预览内容,不用再ls+cat来回折腾了。
fzf 玩法很多, 更多用法可以看官方文档.
3. 老墨踩坑提示
- 安装完一定要执行
install命令启用快捷键,不然Ctrl+R、Alt+C用不了,体验直接少80%; - 如果是Linux服务器安装后,快捷键不生效,重启终端、重新连接ssh即可;
二、rg(ripgrep):极速代码搜索神器,直接换掉grep
rigrep是一款极速终端文本搜索工具,专门为代码搜索优化,比grep快10倍不止,是我读代码、搜配置、找关键词的必备神器。
1. 为什么我放弃grep,只用rg?
- 速度碾压:rg是用Rust写的,多线程搜索,大项目里搜代码,比grep快几个量级;
- 自动忽略:自动忽略
.gitignore里的文件、隐藏文件、二进制文件,搜代码不会出来一堆无关结果; - 天生适配代码:自动识别文件编码、支持正则、高亮匹配结果、自动识别代码语法,对开发者极度友好;
- 命令更简单:不用记一堆复杂参数,默认效果就足够好用。
2. 一键安装命令
- MacOS:
1brew install ripgrep
- Windows
1# scoop 用户
2scoop install ripgrep
3# 使用winget
4winget install BurntSushi.ripgrep.MSVC
- Ubuntu/Debian:
1apt-get install ripgrep
- CentOS/RHEL:
1dnf install ripgrep
3. 3个高频实战用法,我写代码天天用
用法1:基础关键词搜索,一行命令搞定
最基础的用法,直接rg 关键词,就能在当前目录下,递归搜索所有包含该关键词的文件,自动高亮匹配结果,显示行号、文件路径。
1# 搜索Go项目里所有包含chan的代码
2rg chan
3# 使用context参数展示前后多少行
4rg chan --context 0

可以指定具体的搜索文件:
rg workspace openclaw.json

用法2:指定文件类型搜索,精准定位代码
rg可以指定只搜索某一类文件,不用在一堆无关文件里找结果,读代码巨方便。
1# 只在.go文件里搜索关键词
2rg -t go "select"
3
4# 只在.yaml配置文件里搜索
5rg -t yaml "token"

用法3: 作为管道接收方, 与 grep 用法一样
你会在很多文档上看到这样的用法, 几乎都用 rg 替代了传统的 grep.
一个简单的示例, 查看进程:
1ps aux | rg docker
快速查询日志:
1bat logs/2025-10-29/info.log | rg --color=always "GET"
列出所有markdown文件:
1eza --tree | rg -i "\.md$"

3. 老墨踩坑提示
- rg默认不搜索隐藏文件、.gitignore里的文件,如果需要全量搜索,加上
-uuu参数即可:rg -uuu 关键词; - 想查看rg支持的所有文件类型,执行
rg --type-list,几乎覆盖了所有开发语言和配置文件格式; - 可以设置别名
alias grep='rg',直接替换系统自带的grep,一劳永逸。
最后说两句
fzf + rg,是我终端工具库里的「效率双核」,和上一篇的bat + eza搭配,直接把你的终端体验拉到天花板。
它们没有复杂的配置,不用写一行代码,2分钟就能装好,装好就能立刻提升你的开发效率,不管是写Go代码、跑OpenClaw自动化脚本,还是运维服务器,都能用得上。
后续我会把《极客工具库》系列持续更下去,把我日常用的所有提效神器,都写成保姆级教程,全部放进合集里。
极客老墨,继续折腾!
关注公众号:极客老墨
更多 AI 应用开发、工程实践和效率工具分享,欢迎扫码关注。
