O que é o ripgrep?
O ripgrep (o comando rg) é uma ferramenta de busca orientada a linhas escrita em Rust por Andrew Gallant. Ele busca recursivamente no diretório atual por um padrão de expressão regular, respeitando as regras do seu .gitignore e pulando automaticamente arquivos ocultos, ignorados e binários. É o mecanismo de busca por trás de editores como o VS Code e costuma ser mais rápido que o GNU grep, o The Silver Searcher e o ack.
--engine auto para recorrer ao PCRE2 de forma transparente, saída --json mais rica e ganhos constantes de desempenho no motor de expressões regulares. A versão do arquivo oficial é anterior à maior parte disso.
⚡ Principais recursos do ripgrep
🚀 Extremamente rápido
Um motor de expressões regulares baseado em autômatos finitos, varredura SIMD de literais, mapeamento de memória e percurso paralelo de diretórios o tornam mais rápido que o grep em árvores grandes.
🙈 Respeita o .gitignore
Pula por padrão arquivos ignorados, ocultos e binários, então os resultados são os que realmente interessam. Pode ser sobreposto com -u, -uu ou -uuu.
🌍 Suporte completo a Unicode
Compatível com Unicode por padrão — classes de caracteres, dobramento de maiúsculas, limites de palavra e grafemas funcionam corretamente, sem custo real de velocidade.
🧩 Expressões PCRE2
-P habilita look-around e retrorreferências. Esta compilação já inclui o PCRE2, então funciona de imediato e com JIT.
📄 Filtro por tipo de arquivo
Restrinja a busca a uma linguagem com -t rust, exclua com -T html ou defina seus próprios tipos. Mais de 800 padrões vêm embutidos.
🔁 Multilinha e substituição
Busque através de quebras de linha com -U, pré-visualize substituições com -r e gere resultados estruturados com --json.
apt upgrade mantém você na versão mais recente.
📦 Instalação a partir do deb.griffo.io
Passo 1: Adicionar repositório
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatePasso 2: Instalar o ripgrep
# Instalar o ripgrep mais recente
sudo apt install ripgrep
# Verificar a instalação
rg --version# Instalar o ripgrep mais recente
apt install ripgrep
# Verificar a instalação
rg --versionPasso 3: Autocompletar do shell
# O autocompletar para bash, zsh e fish acompanha o pacote —
# nada a configurar. Abra um novo shell e pressione Tab:
rg --ty<Tab>
# A página de manual também é instalada
man rg🎯 Exemplos de uso básico
Busca do dia a dia:
# Buscar na árvore de diretórios atual
rg 'TODO'
# Ignorando maiúsculas, palavra inteira
rg -i -w 'timeout'
# Mostrar 3 linhas de contexto em cada ocorrência
rg -C 3 'panic!'
# Listar apenas os arquivos com ocorrências
rg -l 'BurntSushi'Filtrando o que será buscado:
# Somente arquivos Rust
rg -t rust 'unsafe'
# Tudo exceto HTML e CSS
rg -T html -T css 'font-size'
# Incluir arquivos ignorados e ocultos
rg -uu 'password'
# Restringir com um glob
rg -g '*.toml' 'version'Além do grep comum:
# Look-around e retrorreferências via PCRE2
rg -P '(?<=fn )\w+' src/
# Buscar através de quebras de linha
rg -U 'struct \w+ \{\n[^}]*pub'
# Pré-visualizar uma substituição (não grava arquivos)
rg 'v(\d+)\.(\d+)' -r 'v$1.$2.0'
# Saída estruturada para scripts
rg --json 'error' | jq -r 'select(.type=="match") | .data.path.text'🔧 Integrações
O ripgrep é o backend de busca que muitas outras ferramentas esperam:
- fzf: grep interativo com recarga ao vivo usando
rgcomo origem - Neovim / Telescope: o
live_grepusa o ripgrep quando ele está no PATH - Helix: a busca global é construída sobre as mesmas bibliotecas
- bat: prévias com realce de sintaxe dos resultados
- Yazi: busca do gerenciador de arquivos baseada no ripgrep
🚀 Por que escolher o deb.griffo.io?
- Debian oficial: disponível, mas congelado na versão que saiu junto com a release
- Instalação manual: exige uma toolchain Rust ou gerenciar manualmente o binário e seus autocompletares
- deb.griffo.io: versão mais recente com atualizações automáticas
- ✅ Recursos mais recentes: as opções, melhorias de motor e trabalho de desempenho mais novos
- ✅ Sem configuração manual: binários pré-compilados, sem precisar compilar com cargo
- ✅ Atualizações automáticas: pacotes atualizados poucas horas após os lançamentos upstream
- ✅ Pacote completo:
rg, a página de manualrg.1e autocompletar para bash/zsh/fish - ✅ Sem dependências: build musl com link estático e PCRE2 incluído
- ✅ Multidistribuição: funciona em Bookworm, Trixie, Forky e Sid
- ✅ Manutenção simples: comandos apt padrão para atualizar
📦 Repositório de build do pacote
Os pacotes do Debian são construídos e mantidos automaticamente neste repositório do GitHub:
- 🔎 ripgrep-debian - Builds dos lançamentos mais recentes
🔗 Pacotes relacionados
Também disponíveis no deb.griffo.io:
- fzf - Buscador fuzzy que combina com o ripgrep para busca interativa
- eza - Substituto moderno do ls
- zoxide - Comando cd inteligente
- Yazi - Usa o ripgrep para busca de arquivos
.gitignore por padrão, configurações de editores e ferramentas que chamam o rg, e usuários que se importam com a velocidade de busca em árvores de diretórios grandes.