Search & ResearchDocumentedScanned

ripgrep

Blazingly fast text search tool - recursively searches directories for regex patterns with respect to gitignore rules.

Share:

Installation

npx clawhub@latest install ripgrep

View the full skill documentation and source below.

Documentation

ripgrep (rg)

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

  • rg is often faster than grep -r
  • Use -t for file type filtering instead of --include
  • Combine with other tools: rg pattern -l | xargs tool
  • Add custom types in ~/.ripgreprc
  • Use --stats to see search performance

Documentation

GitHub:
User Guide: