接手别人的代码库最头疼的就是找东西。以前我习惯裸 grep 一把梭,结果要么扫进 node_modules 卡半天,要么把 .git 里的对象也翻出来,noise 一大堆,还得手动 exclude 一堆路径。后来换了 ripgrep(就是那个 rg 命令),第一感觉是它默认就懂你不要什么。
rg 默认跳过 .gitignore 里列的文件和二进制,所以你在一个几百万行的仓库里搜一个函数名,基本是秒回。不用自己加一堆 --exclude 参数,这点对懒人太友好了。它按文件类型过滤也很顺手,比如只搜 .ts 或者限定某几个目录,定位一个函数的定义和所有调用点,不再需要一层层点开目录去翻。正则照样支持,写复杂 pattern 也不虚。
最关键是零配置、终端原生、跨平台,brew 或者包管理器装完就能用,跟你现有的工作流无缝。我现在打开陌生 repo 第一件事就是 rg。让我回去用裸 grep,真干不下去了