🔎 Ripgrep — 技能工具
v1.0.0[自动翻译] Blazingly fast text search tool - recursively searches directories for regex patterns with respect to gitignore rules.
详细分析 ▾
运行时依赖
版本
- Initial release of the ripgrep skill. - Provides fast, recursive searching with gitignore awareness. - Includes usage examples for searching, filtering by file type, and advanced search options. - Highlights common use cases and performance tips. - Offers installation steps for both Homebrew and apt package managers. - Compares key features and advantages over traditional grep.
安装命令
点击复制技能文档
Fast, smart recursive search. Respects .gitignore by default.
Quick Start
Basic search
# Search for "TODO" in current directory rg "TODO"# Case-insensitive search rg -i "fixme"
# Search specific file types rg "error" -t py # Python files only rg "function" -t js # JavaScript files
Common patterns
# Whole word match rg -w "test"# Show only filenames rg -l "pattern"
# Show with context (3 lines before/after) rg -C 3 "function"
# Count matches rg -c "import"
Advanced Usage
File type filtering
# Multiple file types rg "error" -t py -t js# Exclude file types rg "TODO" -T md -T txt
# List available types rg --type-list
Search modifiers
# Regex search rg "user_\d+"# Fixed string (no regex) rg -F "function()"
# Multiline search rg -U "start.end"
# Only show matches, not lines rg -o "https?://[^\s]+"
Path filtering
# Search specific directory rg "pattern" src/# Glob patterns rg "error" -g ".log" rg "test" -g "!.min.js"
# Include hidden files rg "secret" --hidden
# Search all files (ignore .gitignore) rg "pattern" --no-ignore
Replacement Operations
# Preview replacements rg "old_name" --replace "new_name"
# Actually replace (requires extra tool like sd) rg "old_name" -l | xargs sed -i 's/old_name/new_name/g'
Performance Tips
# Parallel search (auto by default) rg "pattern" -j 8# Skip large files rg "pattern" --max-filesize 10M
# Memory map files rg "pattern" --mmap
Common Use Cases
Find TODOs in code:
rg "TODO|FIXME|HACK" --type-add 'code:.{rs,go,py,js,ts}' -t code
Search in specific branches:
git show branch:file | rg "pattern"
Find files containing multiple patterns:
rg "pattern1" | rg "pattern2"
Search with context and color:
rg -C 2 --color always "error" | less -R
Comparison to grep
- Faster: Typically 5-10x faster than grep
- Smarter: Respects
.gitignore, skips binary files - Better defaults: Recursive, colored output, line numbers
- Easier: Simpler syntax for common tasks
Tips
rgis often faster thangrep -r- Use
-tfor file type filtering instead of--include - Combine with other tools:
rg pattern -l | xargs tool - Add custom types in
~/.ripgreprc - Use
--statsto see search performance
Documentation
GitHub: https://github.com/BurntSushi/ripgrep User Guide: https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md