>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Rust

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?

  1. Refatoração de código — renomeação em massa de variáveis/funções
  2. Migrações — mudanças de API, atualizações de dependências
  3. Trabalhando em servidores remotos — quando não há GUI mas você precisa de busca conveniente
  4. 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