Serpl — Busca e Substituição Estilo VS Code Direto no Terminal
Imagine esta situação: você está trabalhando em um projeto grande e precisa renomear uma variável em dezenas de arquivos. Abrir cada arquivo em um editor? Usar scripts sed complicados? Agora existe uma solução elegante — serpl.
O que é o Serpl?
Serpl é uma aplicação de terminal escrita em Rust que traz a conveniência da busca e substituição do VS Code direto para o seu terminal. Não é apenas um utilitário grep/sed, mas uma TUI (Text User Interface) completa com visualização interativa e configuração flexível.
Por que experimentar?
- Interface completa — não apenas saída do console, mas navegação conveniente baseada em painéis
- Lida com projetos grandes — integrado com ripgrep para busca rápida
- Busca AST — suporte ast-grep para consultas precisas de árvore sintática
- Configuração flexível — suporta JSON/TOML/YAML
- Integração — funciona com Neovim e Helix
Instale em um minuto
Para usuários de Rust:
cargo install serpl
Ou através de gerenciadores de pacotes:
- Homebrew:
brew install serpl - Arch Linux:
pacman -S serpl - NixOS:
nix profile install nixpkgs#serpl
Recursos principais
1. Busca interativa com visualização
Serpl mostra os resultados da busca em tempo real com destaque nas correspondências. Você pode navegar entre arquivos e ver o contexto sem sair do terminal.
2. Substituição inteligente
Suporta múltiplos modos de substituição:
- Substituição simples
- Preservar maiúsculas/minúsculas
- Baseado em AST (via ast-grep)
3. Modos de busca flexíveis
- Texto simples
- Diferencia maiúsculas de minúsculas
- Palavra inteira
- Expressões regulares
- Busca AST (para linguagens de programação)
4. Integração completa com editores de terminal
Neovim tem uma configuração pronta para uso:
return {
"akinsho/toggleterm.nvim",
cmd = { "ToggleTerm", "TermExec" },
-- ... конфигурация ...
}
E para o Helix, basta adicionar:
[keys.normal.ret]
t = [":write-all", ":insert-output serpl >/dev/tty", ":redraw", ":reload-all"]
Quando é especialmente útil?
- Refatoração de código — renomeação em massa de variáveis/funções
- Migrações — mudanças de API, atualizações de dependências
- Trabalhando em servidores remotos — quando não há GUI mas você precisa de busca conveniente
- Exploração rápida de código — encontrando todos os usos de funções
Por baixo dos panos
- Construído com Rust para máximo desempenho
- Usa ratatui.rs para a interface
- Se integra com ripgrep e ast-grep
- Suporta configuração em 5 formatos (JSON, JSON5, YAML, TOML, INI)
Serpl é mais do que apenas um substituto para grep/sed, mas uma ferramenta séria para desenvolvedores que trabalham extensivamente no terminal. Se você:
- Ama ferramentas CLI
- Trabalha frequentemente em servidores remotos
- Valoriza velocidade e conveniência
então o serpl definitivamente merece um lugar no seu kit de ferramentas. O projeto é ativamente desenvolvido (700+ estrelas no GitHub) e aceita contribuidores.
Como bônus — experimente a combinação Ctrl+o para substituição em massa em todos os arquivos. Economia de tempo garantida!
Projetos relacionados