项目稍微大一点,用普通 grep -R 搜字符串有时会慢,也容易把 .git、node_modules 这些目录扫进去。ripgrep 的 rg 默认会尊重 .gitignore,找代码时挺顺手。
环境:ripgrep 13+,Linux/macOS/WSL 都可以。建个小目录试一下:
mkdir rg-demo && cd rg-demo
mkdir -p src node_modules/pkg
printf 'export const apiUrl = "/api/users"\n' > src/config.js
printf 'cached apiUrl\n' > node_modules/pkg/index.js
printf 'node_modules/\n' > .gitignore
rg apiUrl
一般只会看到 src/config.js 里的结果,因为 node_modules 被 .gitignore 排除了。
如果就是想连忽略文件也一起搜,可以加:
rg -u apiUrl
我觉得它最舒服的是结果默认带文件名和行号,临时定位变量、错误文案、接口路径都挺快。要搜固定字符串而不是正则,也可以用 rg -F 'apiUrl',少一点转义心智负担。