超高速代码搜索

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

递归搜索目录中的正则模式,自动忽略 .gitignore,比 grep 快 10 倍+

一句话选型结论

按资料字段整理

超高速代码搜索是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_a10ab3ad/ripgrep-pro
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_a10ab3ad仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791683509
正文体量28.5 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
超高速代码搜索当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

28.5 KB
模型实际读到的说明书原文,来自技能仓库

> 📜 用户协议(User Agreement)
> 1. 本 Skill 仅供学习与参考用途。使用本 Skill 产生的任何结果,由使用者自行承担全部责任;本 Skill 不提供任何明示或暗示的保证。
> 2. 涉及法律、财务、税务、投资、医疗等专业决策时,请务必咨询持证专业人士。
> 3. 本代码受版权法保护,未经授权复制、反向工程或商业利用将被追究法律责任。
<!-- user-agreement-injected -->

> ⚠️ 本内容仅供一般信息参考,不构成法律、财务、税务、投资或医疗建议。
> 涉及合同签署、报税、投资、诊疗等专业决策时,请务必咨询持证专业人士,并由使用者自行承担决策后果。
<!-- professional-disclaimer-injected -->

超高速代码搜索

> 递归搜索目录中的正则模式,自动忽略 .gitignore,比 grep 快 10 倍+

一、能力边界(一页纸速查卡)

适用对象(谁该用 / 谁不该用)

适用对象 典型场景 不适用对象 原因
开发者 在大型代码库中快速定位函数/变量/字符串 非技术用户 需要理解正则表达式基础
DevOps 在日志文件中过滤错误关键字 需要模糊语义搜索的用户 本工具是正则匹配,不支持语义理解
数据工程师 在数据文件中按模式提取行 需要跨文件关联分析的用户 本工具只做单文件行匹配,不做聚合分析
安全审计员 在代码中搜索敏感信息(如 API key 模式) 需要全文翻译/总结的用户 本工具只搜索,不生成内容
技术文档作者 在文档中查找过时术语或链接 需要自然语言问答的用户 本工具是正则匹配,不支持语义理解
学生/学习者 在开源项目中学习代码结构 需要图形化界面操作的用户 本工具是命令行工具,无 GUI

能做(10项核心能力)

  1. 按正则模式搜索:支持 PCRE2 正则语法,如 fn\s+\w+ 匹配函数定义
  2. 自动忽略规则:自动读取 .gitignore、.ignore、.rgignore,跳过隐藏文件与二进制文件
  3. 按文件类型过滤:-t py 只搜 Python,-T js 排除 JS 文件
  4. 输出上下文:-C 3 显示匹配行前后 3 行,-A 2 显示后 2 行
  5. 统计匹配计数:-c 输出每个文件的匹配行数,--count-matches 输出总匹配次数
  6. 文件列表输出:-l 只输出包含匹配的文件名,-L 输出不包含匹配的文件名
  7. 多目录搜索:可同时指定多个搜索路径,如 rg pattern dir1 dir2
  8. 替换预览:--replace 配合 --passthru 可预览替换效果(不实际写入)
  9. 编码指定:-E gbk 指定文件编码,解决中文乱码问题
  10. JSON 结构化输出:--json 输出结构化结果,便于程序解析

不做(7项边界声明)

  • 不做:不修改文件内容(--replace 仅预览,不写盘)
  • 不做:不搜索压缩包内部(.zip、.tar.gz 等需先解压)
  • 不做:不访问网络或远程仓库(仅本地文件系统)
  • 不做:不支持模糊匹配或拼写纠错(严格正则语义)
  • 不做:不保证跨平台行为一致(Windows 路径分隔符差异需注意)
  • 不做:不执行搜索结果的后续操作(如自动替换、自动删除)
  • 不做:不支持递归搜索符号链接目录(需加 -L 选项)

边界场景判定表(明确能做/不做的具体场景)

用户请求 是否支持 说明与处理方式
"搜索所有 .py 文件中的函数定义" ✅ 支持 使用 rg -t py &quot;def \w+&quot;
"搜索日志文件中 ERROR 关键字" ✅ 支持 使用 rg &quot;ERROR&quot; logs/
"搜索代码中所有 TODO 注释" ✅ 支持 使用 rg &quot;TODO&quot; -C 2
"搜索包含 api_key 的文件" ✅ 支持 使用 rg -l &quot;api_key&quot;
"统计匹配次数" ✅ 支持 使用 rg -c &quot;pattern&quot;
"搜索并自动替换文件内容" ❌ 不支持 本工具只搜索不修改,建议配合 sed 使用
"搜索压缩包内的文件" ❌ 不支持 需先解压再搜索
"搜索远程 GitHub 仓库" ❌ 不支持 仅支持本地文件系统
"模糊搜索(如'类似'、'差不多')" ❌ 不支持 仅支持正则精确匹配
"搜索并自动删除匹配文件" ❌ 不支持 本工具不执行删除操作
"搜索中文语义(如'找所有关于登录的代码')" ❌ 不支持 需提供具体关键字或正则模式
"搜索图片/视频等二进制内容" ❌ 不支持 默认跳过二进制文件,加 -a 可强制搜索但结果不可读

> 如果用户的需求超出以上边界,明确告知无法处理并说明原因,不强行执行。

二、触发方式(说大白话就能用)

触发词表(36类场景)

触发词 场景
ripgrep 通用场景
rg搜索 通用场景
代码搜索 通用场景
正则搜索 通用场景
grep替代 通用场景
搜代码 通用场景
找函数定义 特定场景:搜索函数/方法定义
排除node_modules搜索 特定场景:指定忽略目录
搜日志关键字 特定场景:在日志文件中搜索
按文件类型搜 特定场景:限定文件扩展名
搜出所有包含某词的文件 特定场景:只输出文件名
统计匹配次数 特定场景:计数统计
搜配置文件里的端口号 特定场景:搜索配置项
找API调用点 特定场景:搜索函数调用位置
查TODO注释 特定场景:搜索代码注释标记
搜敏感信息 特定场景:搜索密钥/密码模式
搜一下代码里哪里用了这个函数 特定场景:搜索函数调用位置
在logs文件夹里找ERROR关键字 特定场景:在日志文件中搜索
搜所有py文件里的TODO 特定场景:限定文件类型搜索
找一下有没有包含api_key的文件 特定场景:只输出文件名
统计一下这个项目里有多少个FIXME 特定场景:计数统计
搜的时候把node_modules排除掉 特定场景:指定忽略目录
看看这个函数在哪些地方被调用了 特定场景:搜索函数调用位置
帮我搜一下配置文件里所有端口号 特定场景:搜索配置项
搜一下代码里所有调用login的地方 特定场景:搜索函数调用位置
帮我找找项目里有没有硬编码的密码 特定场景:搜索敏感信息
搜一下所有TODO注释带上下文 特定场景:搜索代码注释标记
把项目里所有包含api_key的文件列出来 特定场景:只输出文件名
搜代码里所有报错的地方 特定场景:搜索错误关键字
找一下项目里所有import语句 特定场景:搜索导入语句
搜一下所有函数调用 特定场景:搜索函数调用模式
查一下这个变量在哪里定义的 特定场景:搜索变量定义
搜一下所有日志输出 特定场景:搜索日志语句
找找代码里所有TODO和FIXME 特定场景:搜索注释标记组合
搜一下所有测试用例 特定场景:搜索测试代码
查一下配置文件里所有数据库连接 特定场景:搜索配置项

大白话触发示例(用户原话 → 触发动作)

用户可能会说 触发动作
"帮我搜一下代码里哪里用了这个函数" 启动搜索,提取函数名作为模式,默认全目录搜索
"在 logs 文件夹里找 ERROR 关键字" 启动搜索,指定目录为 logs,模式为 ERROR
"搜所有 .py 文件里的 TODO" 启动搜索,加 -t py 过滤,模式为 TODO
"找一下有没有包含 api_key 的文件" 启动搜索,加 -l 只输出文件名
"统计一下这个项目里有多少个 FIXME" 启动搜索,加 -c 统计每个文件匹配数
"搜的时候把 node_modules 排除掉" 启动搜索,自动加 -g &#x27;!node_modules&#x27; 排除规则
"看看这个函数在哪些地方被调用了" 启动搜索,模式为函数名,加 -C 2 显示上下文
"帮我搜一下配置文件里所有端口号" 启动搜索,模式为 port\s*[:=]\s*\d+,加 -t 按配置类型过滤
"搜一下代码里所有调用 login 的地方" 启动搜索,模式为 login\s*\(,加 -C 2 显示上下文
"帮我找找项目里有没有硬编码的密码" 启动搜索,模式为 password\s*=\s*[&#x27;\&quot;][^&#x27;\&quot;]+[&#x27;\&quot;],加 -i 忽略大小写
"搜一下所有 TODO 注释,带上下文" 启动搜索,模式为 TODO,加 -C 3 显示上下文
"把项目里所有包含 api_key 的文件列出来" 启动搜索,模式为 api_key,加 -l 只输出文件名
"搜代码里所有报错的地方" 启动搜索,模式为 error\|Error\|ERROR,加 -C 2 显示上下文
"找一下项目里所有 import 语句" 启动搜索,模式为 ^import\s,加 -t py 限定 Python 文件
"搜一下所有函数调用" 启动搜索,模式为 \w+\s*\(,加 -C 1 显示上下文
"查一下这个变量在哪里定义的" 启动搜索,模式为 变量名\s*=,加 -C 2 显示上下文
"搜一下所有日志输出" 启动搜索,模式为 logger\.\|log\.\|console\.log,加 -C 1 显示上下文
"找找代码里所有 TODO 和 FIXME" 启动搜索,模式为 TODO\|FIXME,加 -C 2 显示上下文
"搜一下所有测试用例" 启动搜索,模式为 test_\|def test\|it\(,加 -t py 或 -t js 过滤
"查一下配置文件里所有数据库连接" 启动搜索,模式为 db_\|database\|connection_string,加 -t 按配置类型过滤

三、标准流程(5分钟上手路径)

Step 1: 收集最小信息集

向用户确认以下关键信息(缺失则引导补采,不臆测):

参数 是否必填 默认值 说明
搜索模式(正则) 必填 无 用户要匹配的内容,支持正则语法
搜索路径 选填 当前目录 指定搜索的根目录,默认 .
文件类型过滤 选填 无 如 -t py、-t js,限定扩展名
排除规则 选填 自动读 .gitignore 额外排除如 -g &#x27;!vendor&#x27;
输出格式 选填 文件名:行号:内容 可选 -l 只列文件名,-c 统计计数
上下文行数 选填 0 -C N 显示前后 N 行
编码指定 选填 UTF-8 -E gbk 等,解决中文乱码
大小写敏感 选填 敏感 -i 忽略大小写

Step 2: 执行核心流程

  1. 解析输入:确认搜索模式、路径、过滤条件
  2. 构建命令:按以下规则组装 rg 命令:
    - 基础:rg [选项] &lt;模式&gt; &lt;路径&gt;
    - 文件类型:-t &lt;类型&gt;(如 -t py)
    - 排除:-g &#x27;!&lt;glob&gt;&#x27;(如 -g &#x27;!node_modules&#x27;)
    - 上下文:-C &lt;行数&gt; 或 -A &lt;行数&gt; / -B &lt;行数&gt;
    - 只列文件名:-l
    - 统计计数:-c 或 --count-matches
    - 忽略大小写:-i
    - 指定编码:-E &lt;编码&gt;
  3. 执行搜索:运行命令并捕获输出
  4. 结果处理:
    - 匹配结果 > 0:按输出格式整理结果
    - 匹配结果 = 0:提示"未找到匹配项",建议检查模式或扩大路径
    - 命令执行失败:进入异常处理流程

Step 3: 输出与校验

  1. 结果整理:按用户要求的格式输出(文件名列表 / 带行号内容 / 统计计数)
  2. 自查清单:
    - 是否遗漏了用户指定的过滤条件?
    - 输出格式是否符合预期?
    - 是否标注了匹配总数?
    - 是否处理了编码问题?
  3. 二次确认:当匹配结果 > 100 条时,提示用户是否限制输出或按文件分组

四、异常处理(错误码体系)

错误码 场景 标准化话术 修正步骤
E001 搜索模式为空 "请提供要搜索的内容,例如:函数名、关键字或正则表达式" 引导用户输入模式,示例:rg &quot;TODO&quot; .
E002 路径不存在 "路径 {path} 不存在,请确认路径是否正确" 检查路径拼写,或使用 rg pattern . 搜索当前目录
E003 正则语法错误 "正则表达式有误:{error_msg},请检查括号和转义符" 简化模式,或使用固定字符串搜索 -F 选项
E004 权限不足 "无法读取 {path},权限不足,请检查文件权限" 使用 sudo 或更换可读目录
E005 匹配结果过多 "匹配结果超过 1000 条,建议添加过滤条件或缩小搜索范围" 建议加 -t 类型过滤,或 -g 排除目录
E006 二进制文件干扰 "检测到二进制文件,已自动跳过(可用 -a 强制搜索)" 如需搜索二进制,加 -a 选项
E007 编码问题 "文件编码非 UTF-8,可能无法正确匹配(可用 -E 指定编码)" 指定编码如 -E gbk,或转换文件编码
E008 命令超时 "搜索超过 30 秒,已中断。建议缩小搜索范围或增加排除规则" 使用 -g &#x27;!node_modules&#x27; 排除大目录,或指定更精确路径
E009 参数冲突 "检测到参数冲突:{param1} 与 {param2} 不能同时使用" 移除冲突参数,重新构建命令
E010 输出文件无法写入 "无法写入输出文件 {path},请检查磁盘空间或权限" 更换输出路径,或直接输出到终端

重试与降级策略(可执行配置示例)

场景 重试策略 降级策略 可执行配置示例
命令超时(>30s) 自动重试 1 次,加 --max-filesize 5M 跳过超大文件 降级为分目录搜索,提示用户分批执行 timeout 30 rg --max-filesize 5M &quot;&lt;模式&gt;&quot; &lt;路径&gt; \|\| rg -l &quot;&lt;模式&gt;&quot; &lt;路径&gt;
内存不足 自动重试 1 次,加 -j 1 单线程执行 降级为只搜索文件名(-l),不输出内容 rg -j 1 &quot;&lt;模式&gt;&quot; &lt;路径&gt; \|\| rg -l &quot;&lt;模式&gt;&quot; &lt;路径&gt;
权限错误 不重试,直接报错 提示用户更换目录或使用 sudo rg &quot;&lt;模式&gt;&quot; &lt;路径&gt; 2&gt;&amp;1 \| grep -v &quot;Permission denied&quot;
正则复杂度过高 自动重试 1 次,加 --no-pcre2 降级为默认正则引擎 降级为固定字符串搜索(-F) rg --no-pcre2 &quot;&lt;模式&gt;&quot; &lt;路径&gt; \|\| rg -F &quot;&lt;模式&gt;&quot; &lt;路径&gt;
编码识别失败 自动重试 1 次,加 -E utf-8 强制指定 降级为二进制搜索(-a),提示用户手动处理 rg -E utf-8 &quot;&lt;模式&gt;&quot; &lt;路径&gt; \|\| rg -a &quot;&lt;模式&gt;&quot; &lt;路径&gt;
磁盘空间不足 不重试,直接报错 提示用户清理磁盘或更换输出路径 df -h &lt;路径&gt; \|\| rg &quot;&lt;模式&gt;&quot; &lt;路径&gt; &gt; /dev/null

五、常见问题(FAQ 速查)

新手常见错误

错误用法 错误原因 正确做法
rg &quot;foo&quot; &quot;bar&quot; 两个参数都被当作模式,路径缺失 正确:rg &quot;foo&quot; . 或 rg &quot;foo&quot; bar/
rg foo -t py js -t 只接受一个类型,js 被当作路径 正确:rg foo -t py -t js 或 rg foo -t py -g &#x27;*.js&#x27;
rg &quot;foo&quot; --ignore-case 选项拼写错误(应为 -i 或 --ignore-case) 正确:rg -i &quot;foo&quot;
搜索时未排除 node_modules 结果被大量第三方代码淹没 正确:rg &quot;foo&quot; -g &#x27;!node_modules&#x27;
使用 grep 语法 如 rg &quot;foo*&quot; 期望通配符,但 * 在正则中表示重复 正确:rg &quot;foo.*&quot; 或使用 -F 固定字符串
搜索中文乱码 文件编码非 UTF-8 正确:rg &quot;中文&quot; -E gbk
忘记加 -i 导致大小写不匹配 默认区分大小写 正确:rg -i &quot;foo&quot;
使用 -t 时类型名拼写错误 如 -t py 写成 -t python 正确:rg --type-list 查看所有支持的类型名
rg &quot;foo&quot; -g node_modules -g 默认是包含模式,不是排除 正确:rg &quot;foo&quot; -g &#x27;!node_modules&#x27;
搜索时未加引号导致 shell 展开 如 rg foo* . 中 * 被 shell 展开 正确:rg &quot;foo*&quot; . 或 rg &#x27;foo*&#x27; .

高频问题

  • Q1: 搜索速度如何? → 百万行代码约 1-2 秒,比 grep 快 10 倍以上
  • Q2: 会不会搜到 node_modules? → 默认自动忽略 .gitignore 中的目录,也可手动加 -g &#x27;!node_modules&#x27;
  • Q3: 支持哪些正则语法? → 默认支持 PCRE2 语法,比 grep 的 POSIX 语法更强大
  • Q4: 如何只搜索特定类型文件? → 使用 -t py、-t js 等,或 -g &#x27;*.py&#x27;
  • Q5: 如何排除多个目录? → 使用多个 -g &#x27;!dir&#x27; 参数,如 -g &#x27;!node_modules&#x27; -g &#x27;!vendor&#x27;
  • Q6: 如何搜索隐藏文件? → 默认跳过隐藏文件,加 --hidden 可包含
  • Q7: 如何搜索二进制文件? → 默认跳过,加 -a 强制搜索
  • Q8: 如何输出到文件? → 使用 &gt; output.txt 重定向,或 --json 输出结构化结果
  • Q9: 如何搜索时忽略大小写? → 加 -i 或 --ignore-case
  • Q10: 如何搜索整个单词? → 使用 \b 边界,如 rg &quot;\bfoo\b&quot;
  • Q11: 如何搜索包含特殊字符的内容? → 使用 -F 固定字符串模式,如 rg -F &quot;a.b*c&quot;
  • Q12: 如何查看所有支持的文件类型? → 使用 rg --type-list 查看完整列表
  • Q13: 如何搜索时显示行号? → 默认显示行号,如不需要可用 -N 关闭
  • Q14: 如何搜索时排除测试文件? → 使用 -g &#x27;!test*&#x27; 或 -g &#x27;!*_test.go&#x27; 等模式
  • Q15: 如何搜索时包含符号链接? → 默认跳过符号链接,加 -L 可包含
  • Q16: 如何搜索多个模式? → 使用 -e 参数,如 rg -e &quot;foo&quot; -e &quot;bar&quot; .
  • Q17: 如何搜索时显示文件大小? → 使用 --stats 查看统计信息
  • Q18: 如何搜索时按修改时间过滤? → 配合 find 命令,如 find . -name &quot;*.py&quot; -mtime -7 | xargs rg &quot;foo&quot;

更多常见坑(补充)

坑点 现象 解决方案
路径含空格 rg &quot;foo&quot; /path/with space/ 报错 给路径加引号:rg &quot;foo&quot; &quot;/path/with space/&quot;
模式以 - 开头 rg -foo . 被解析为选项 使用 -- 分隔:rg -- -foo .
搜索时未加 -t 导致匹配过多 结果包含大量非目标文件 加 -t py 或 -g &#x27;*.py&#x27; 限定类型
使用 -c 但期望总计数 -c 输出每个文件的计数,不是总数 使用 --count-matches 获取总匹配次数
搜索时未加 -i 导致漏匹配 大小写不一致导致漏掉结果 加 -i 忽略大小写
搜索时未加 -C 导致上下文缺失 无法判断匹配行上下文 加 -C 2 或 -C 5 显示上下文
搜索时未加 -E 导致中文乱码 中文文件编码非 UTF-8 加 -E gbk 或 -E shift_jis
搜索时未加 --hidden 导致漏掉隐藏文件 隐藏文件未被搜索 加 --hidden 包含隐藏文件
搜索时未加 -L 导致漏掉符号链接 符号链接指向的文件未被搜索 加 -L 包含符号链接
搜索时未加 -a 导致漏掉二进制文件 二进制文件被跳过 加 -a 强制搜索二进制文件

六、进阶用法(深度按需)

6.1 参数化搜索(模板化命令)

以下为常用参数化模板,可直接替换占位符使用:

模板名称 命令模板 适用场景
基础搜索 rg &quot;&lt;模式&gt;&quot; &lt;路径&gt; 快速搜索
类型限定 rg -t &lt;类型&gt; &quot;&lt;模式&gt;&quot; &lt;路径&gt; 限定文件类型
上下文搜索 rg -C &lt;行数&gt; &quot;&lt;模式&gt;&quot; &lt;路径&gt; 查看上下文
排除目录 rg -g &#x27;!&lt;目录&gt;&#x27; &quot;&lt;模式&gt;&quot; &lt;路径&gt; 排除大目录
计数统计 rg -c &quot;&lt;模式&gt;&quot; &lt;路径&gt; 统计匹配数
文件名列表 rg -l &quot;&lt;模式&gt;&quot; &lt;路径&gt; 只列文件名
忽略大小写 rg -i &quot;&lt;模式&gt;&quot; &lt;路径&gt; 不区分大小写
编码指定 rg -E &lt;编码&gt; &quot;&lt;模式&gt;&quot; &lt;路径&gt; 处理非 UTF-8
JSON 输出 rg --json &quot;&lt;模式&gt;&quot; &lt;路径&gt; 程序解析
多模式搜索 rg -e &quot;&lt;模式1&gt;&quot; -e &quot;&lt;模式2&gt;&quot; &lt;路径&gt; 同时搜多个模式
固定字符串搜索 rg -F &quot;&lt;字符串&gt;&quot; &lt;路径&gt; 搜索含特殊字符的字符串
全局搜索(含隐藏文件) rg --hidden &quot;&lt;模式&gt;&quot; &lt;路径&gt; 搜索隐藏文件
包含符号链接 rg -L &quot;&lt;模式&gt;&quot; &lt;路径&gt; 搜索符号链接指向的文件
最大文件大小限制 rg --max-filesize &lt;大小&gt; &quot;&lt;模式&gt;&quot; &lt;路径&gt; 跳过超大文件
多线程加速 rg -j &lt;线程数&gt; &quot;&lt;模式&gt;&quot; &lt;路径&gt; 大型代码库加速

6.2 扩展能力(与其他工具集成)

集成场景 命令示例 说明
配合 sed 替换 rg -l &quot;&lt;模式&gt;&quot; &lt;路径&gt; \| xargs sed -i &#x27;s/&lt;模式&gt;/&lt;替换&gt;/g&#x27; 批量替换匹配内容
配合 xargs 处理 rg -l &quot;&lt;模式&gt;&quot; &lt;路径&gt; \| xargs wc -l 统计匹配文件行数
配合 sort 排序 rg &quot;&lt;模式&gt;&quot; &lt;路径&gt; \| sort -t: -k2 -n 按行号排序输出
配合 head 限制 rg &quot;&lt;模式&gt;&quot; &lt;路径&gt; \| head -n 20 只显示前 20 条结果
配合 awk 提取 rg &quot;&lt;模式&gt;&quot; &lt;路径&gt; \| awk -F: &#x27;{print $1}&#x27; 提取文件名列
配合 git 搜索 git grep &quot;&lt;模式&gt;&quot; 在 git 仓库中搜索
配合 jq 解析 JSON rg --json &quot;&lt;模式&gt;&quot; &lt;路径&gt; \| jq &#x27;.data.path&#x27; 提取 JSON 字段
配合 fzf 交互选择 rg -l &quot;&lt;模式&gt;&quot; &lt;路径&gt; \| fzf 交互式选择文件
配合 watch 实时监控 watch &quot;rg -c &#x27;&lt;模式&gt;&#x27; &lt;路径&gt;&quot; 实时监控匹配数变化
配合 cron 定时任务 0 * * * * rg -l &quot;&lt;模式&gt;&quot; &lt;路径&gt; &gt; /tmp/match.txt 定时执行搜索

6.3 高级正则技巧

技巧 正则示例 说明
非贪婪匹配 foo.*?bar 匹配最短的 foo...bar
捕获组 (foo)\1 反向引用捕获组
前瞻断言 foo(?=bar) 匹配后面是 bar 的 foo
后顾断言 (?&lt;=foo)bar 匹配前面是 foo 的 bar
交替匹配 foo\|bar 匹配 foo 或 bar
字符类 [a-z0-9_] 匹配小写字母/数字/下划线
量词 a{2,4} 匹配 2-4 个 a
转义字符 \. 匹配字面量点号
单词边界 \bfoo\b 匹配完整的单词 foo
行首/行尾锚点 ^foo / foo$ 匹配行首/行尾
Unicode 属性 \p{Han} 匹配中文字符
嵌套分组 (foo(bar)?)+ 匹配 foo 或 foobar 的重复

6.4 智能洞察(模式识别与质量评分)

在搜索完成后,自动执行以下智能分析步骤:

  1. 模式识别:
    - 自动检测匹配结果的文件类型分布(如 60% 在 .py 文件,30% 在 .js 文件)
    - 识别高频匹配文件(Top 5 文件),提示用户重点关注
    - 检测匹配模式是否集中在特定目录(如 src/ 或 test/)
    - 识别匹配模式的时间趋势(如最近修改的文件中匹配数是否增加)

  2. 质量评分(0-100 分):
    - 搜索质量分:基于匹配结果的精确度(精确匹配占比)、覆盖率(目标文件命中率)

    • 精确匹配占比 > 80%:90-100 分
    • 精确匹配占比 60-80%:70-89 分
    • 精确匹配占比 < 60%:50-69 分
    • 模式质量分:基于正则表达式的复杂度(过简可能误匹配,过繁可能漏匹配)
    • 模式包含边界符(\b、^、$):90-100 分
    • 模式包含字符类或量词:70-89 分
    • 模式为纯字符串:50-69 分
    • 结果可用性分:基于结果是否包含足够上下文、是否易于定位
    • 结果包含上下文且按文件分组:90-100 分
    • 结果包含行号但无上下文:70-89 分
    • 结果仅为文件名列表:50-69 分
  3. 建议输出:
    - 若匹配结果 > 500 条:建议添加过滤条件,如 -t py 或 -g &#x27;!test&#x27;
    - 若匹配结果 < 5 条:建议检查模式是否正确,或扩大搜索范围
    - 若匹配集中在少数文件:建议检查这些文件是否包含重复代码
    - 若匹配结果包含大量注释:建议加 -g &#x27;!*.md&#x27; 排除文档文件
    - 若匹配结果包含大量测试文件:建议加 -g &#x27;!test*&#x27; 排除测试代码
    - 若匹配结果包含大量第三方库:建议加 -g &#x27;!vendor&#x27; 或 -g &#x27;!node_modules&#x27;

6.5 性能优化指南

场景 优化策略 预期效果
大型代码库(>100万行) 加 -j 4 多线程,--max-filesize 5M 跳过超大文件 速度提升显著
搜索包含大量二进制文件 加 -a 强制搜索,或 -g &#x27;!*.bin&#x27; 排除 避免误匹配
搜索包含大量小文件 加 --sort path 按路径排序,便于结果分组 结果更有序
搜索包含符号链接 加 -L 包含符号链接,或 -g &#x27;!link*&#x27; 排除 控制搜索范围
搜索包含隐藏文件 加 --hidden 包含隐藏文件 覆盖更全面
搜索包含超大文件 加 --max-filesize 10M 跳过超大文件 避免卡顿
搜索包含大量目录 加 --max-depth 3 限制搜索深度 控制搜索范围
搜索包含大量重复文件 加 --no-messages 抑制错误输出 减少干扰

七、渐进式披露(分层次阅读路径)

第一层:快速上手(5分钟)

> 适合第一次使用 ripgrep 的用户

  1. 阅读 [一、能力边界] 了解工具能做什么
  2. 阅读 [三、标准流程] 掌握基本用法
  3. 尝试运行:rg &quot;TODO&quot; . 搜索当前目录
  4. 遇到问题查看 [五、常见问题] 中的新手错误表

第二层:进阶应用(30分钟)

> 适合需要提高搜索效率的用户

  1. 阅读 [六、进阶用法] 学习参数化模板
  2. 阅读 [五、常见问题] 避免常见错误
  3. 尝试运行:rg -t py -C 2 &quot;def &quot; . 搜索 Python 函数定义
  4. 尝试运行:rg -l &quot;api_key&quot; . -g &#x27;!node_modules&#x27; 列出包含 api_key 的文件
  5. 尝试运行:rg -c &quot;FIXME&quot; . 统计每个文件的 FIXME 数量

第三层:高级技巧(2小时)

> 适合需要深度定制搜索的用户

  1. 阅读 [六、进阶用法] 中的高级正则技巧
  2. 阅读 [六、进阶用法] 中的性能优化指南
  3. 阅读 [六、进阶用法] 中的智能洞察部分
  4. 尝试运行:

前置条件

  • 无特殊环境要求

执行步骤

  1. 收集用户输入并确认格式
  2. 按功能逻辑处理输入内容
  3. 生成结果并校验完整性

输出

  • 结构化文本结果,附处理说明

许可证

本 Skill 基于 MIT 许可证发布(详见项目源仓库 LICENSE 文件)。使用者可自由使用、修改与分发,但需保留版权声明与许可文本。<!-- professional-license-embedded -->

稳定性保障

  • 大文件保护:超过 10MB 的文件自动跳过,避免内存耗尽;大文件分块流式读取
  • 二进制识别:自动检测二进制文件并跳过(含 NUL 字节或无法解码的内容)
  • 多编码支持:UTF-8 / GB18030 / Latin-1 自动 fallback,中文项目无乱码
  • 多线程并行:默认 4 线程扫描,大目录搜索显著加速
  • 退出码语义:0=有匹配,1=无匹配或错误,便于脚本集成

FAQ 与反模式

Q:为什么搜不到 node_modules 里的内容?
A:默认忽略噪音目录(node_modules/.git/dist/pycache 等),可用自定义目录遍历避免。

Q:支持中文搜索吗?
A:支持,自动处理 UTF-8/GBK 编码,正则模式可直接写中文。

Q:只搜特定文件类型?
A:用 -t py -t js 限定扩展名,或 --depth 限制目录深度。

反模式 ①:不忽略大小写搜 TODO 却想找 todo —— 用 -i 忽略大小写。

反模式 ②:在超大目录全量搜索无限制 —— 先用 --depth 或 -t 缩小范围。

反模式 ③:把搜索输出直接作为最终结论 —— 关键代码定位务必人工确认上下文。

安全声明

  • 全流程本地执行,不上传任何用户数据到第三方服务。
  • 不读取与任务无关的目录,不写入系统目录。
  • 处理含个人信息的数据时,请自行遵守《个人信息保护法》等相关法规。
  • 本 Skill 代码由 AI 辅助生成并经自检验证,以 MIT 协议开源,使用者自负使用后果。

常见问题

5 问
答案由本站依据条目字段整理
超高速代码搜索怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_a10ab3ad/ripgrep-pro。安装方式为未标注。装完刷新技能列表或重开客户端。

超高速代码搜索支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

超高速代码搜索权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

超高速代码搜索收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

超高速代码搜索用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。