终端高效搜索指南
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/terminal-search-efficiency-guide。
技能介绍
终端搜索的常见痛点
开发者在日常工作中,常遇到“找代码慢、找配置难”的问题:搜索关键词时,结果里混着node_modules、dist等无关文件;输入的命令要么覆盖范围太窄漏掉目标,要么太宽泛被噪声淹没;不同团队成员的搜索范围不一致,导致协作时“你搜到的文件我没搜到”。传统grep命令不仅慢,还无法自动处理隐藏文件和忽略规则,让“快速定位”成了低效的体力活。
基于ripgrep的高效搜索逻辑
本指南以ripgrep为核心,从底层设计和实战用法两方面解决上述问题:
- 底层快的原因:ripgrep默认递归遍历目录,自动忽略
.gitignore与隐藏文件,结果更干净;Rust实现并行遍历,大仓库也能秒级返回;智能按文件类型过滤,避免搜进构建产物或依赖目录。 - 高频用法范式:
- 内容检索:用rg 关键词搜索全部代码,高亮命中行与文件名;
- 类型过滤:用rg --type py 关键词仅搜Python文件,降低噪音;
- 目录排除:用rg --exclude-dir node_modules 关键词跳过无关文件夹;
- 正则匹配:用rg '^def \w+'精准匹配函数定义、rg 'TODO'找待办标记。
- 组合工作流:与
fzf结合实现交互式筛选,键盘直达目标文件;与编辑器集成(如VS Code调用ripgrep),统一检索体验;与fd搭配,先按文件名定位再搜内容,各取所长。
落地与避坑
将常用搜索写成shell alias(如rgf=rg --type py),减少重复输入;团队共享.gitignore与搜索配置,保证所有人检索范围一致。注意不要关掉.gitignore忽略规则——否则会搜进依赖目录被噪声淹没;不要只用纯文本搜索——结构化模式(如统一前缀的函数)需要正则才能精准匹配。
使用场景
- 在大型代码仓库中用正则搜索函数定义,快速定位目标代码
- 需要跳过node_modules等目录,只搜索业务代码内容
- 结合fzf交互式筛选搜索结果,键盘直达文件
- 团队统一.gitignore规则,确保所有成员检索范围一致
适合人员
- 后端开发者:需要在庞大的代码库中快速定位函数或配置
- 前端开发者:搜索时需排除依赖目录,聚焦业务代码
- 运维工程师:在服务器上查找配置文件,避免构建产物干扰
- 团队技术负责人:制定统一的搜索规则,保证团队检索一致性