name: 文件搜索 description: “使用 fd、ripgrep (rg) 和 fzf 进行现代文件与内容搜索。触发词:fd、ripgrep、rg、查找文件、搜索代码、fzf、模糊查找、搜索代码库。” compatibility: “需要安装 fd、ripgrep (rg),可选安装 fzf。安装命令(macOS):brew install fd ripgrep fzf。” allowed-tools: “Bash”
文件搜索
现代文件与内容搜索。
fd - 查找文件
# 按名称查找
fd config # 包含 "config" 的文件
fd -e py # Python 文件
# 按类型查找
fd -t f config # 仅文件
fd -t d src # 仅目录
# 排除
fd -E node_modules # 排除目录
fd -E "*.min.js" # 排除模式
# 执行命令
fd -e py -x wc -l # 每个文件的行数统计
rg - 搜索内容
# 简单搜索
rg "TODO" # 查找 TODO
rg -i "error" # 不区分大小写
# 按文件类型搜索
rg -t py "import" # 仅 Python 文件
rg -t js -t ts "async" # JS 和 TS 文件
# 上下文
rg -C 3 "function" # 前后 3 行
# 输出模式
rg -l "TODO" # 仅文件名
rg -c "TODO" # 每个文件的匹配计数
fzf - 交互式选择
# 查找并选择
fd | fzf
# 带预览
fd | fzf --preview 'bat --color=always {}'
# 多选
fd -e ts | fzf -m | xargs code
组合模式
# 查找文件,搜索内容
fd -e py -x rg "async def" {}
# 搜索、选择、打开
rg -l "pattern" | fzf --preview 'rg -C 3 "pattern" {}' | xargs vim
快速参考
| 任务 | 命令 |
|---|---|
| 查找 TS 文件 | fd -e ts |
| 在 src 中查找 | fd -e ts src/ |
| 搜索模式 | rg "pattern" |
| 在特定类型中搜索 | rg -t py "import" |
| 包含匹配的文件 | rg -l "pattern" |
| 匹配计数 | rg -c "pattern" |
| 交互式查找 | fd | fzf |
| 带预览 | fd | fzf --preview 'bat {}' |
性能提示
| 提示 | 原因 |
|---|---|
两者都尊重 .gitignore |
自动跳过 node_modules、dist 等 |
使用 -t 而非 -g |
类型标志更快 |
| 缩小路径范围 | rg pattern src/ 更快 |
对字面量使用 -F |
避免正则表达式开销 |
附加资源
有关详细模式,请加载:
./references/advanced-workflows.md- Git 集成、Shell 函数、高级工作流