Skip to content
← 返回全部工具

ripgrep

免费

在整个代码库里搜一个字符串,几十毫秒出结果

开源 无广告 无追踪 离线可用 无需注册 跨平台

用 Rust 写的递归文本搜索工具,默认跳过 .gitignore 里的路径、二进制文件和隐藏目录,所以在真实项目里比 grep -r 快一到两个数量级。支持 Unicode、多行匹配、按文件类型过滤,是 VS Code 全局搜索的底层实现。

为什么推荐它

Unlicense 与 MIT 双协议,6.8 万颗星。

快的原因有一半不是算法,是它默认不搜该跳过的东西。 grep -r 会老老实实钻进 node_modules、.git、 编译产物和几百兆的二进制文件;ripgrep 读 .gitignore, 直接不去。在一个前端项目里,这个差别就是几十毫秒和几十秒。

另一半是实现:Rust 写的正则引擎,避免回溯爆炸,多线程遍历目录。

VS Code 的全局搜索用的就是它。很多人每天在用而不知道。

要说清楚的:

  • 默认跳过被 gitignore 的文件是特性,但找构建产物里的东西时会扑空, 要加 -u 或 --no-ignore。
  • 正则语法是 Rust regex crate 的那套,不支持反向引用和环视。 需要这些的场景要换 grep -P。