最近把一个老习惯改了——以前在代码库里翻东西,第一反应是 grep -r,实在慢得难受就换 ag。前阵子被朋友安利了 ripgrep,试了一周就彻底回不去了。
这东西是 Rust 写的,搜索逻辑把并行和智能忽略玩得很透。我们组那个祖传 monorepo,源码加依赖差不多小两百万行,grep 跑一遍我够去接杯水,rg 基本敲完回车结果就出来了,秒级是真的秒级。IMHO 这种体感上的差距,比任何 benchmark 图表都直观。
最让我省心的是开箱即用。它默认就尊重 .gitignore,node_modules、build 这些噪音目录自动跳过,不用像 ag 那样还得自己维护 ignore 文件。几乎零配置,clone 下来就能用。正则语法跟 grep 基本兼容,我那些攒了好几年的 alias 一行都不用改,编辑器里接个插件也是分分钟的事,学习成本近乎为零。
说白了,它就是把"找代码"这件高频小事做得又快又安静。还在用裸 grep 的朋友真可以试一下,尤其代码量上了规模之后,体验差不是一点半点。