Serpl — Búsqueda y reemplazo estilo VS Code directamente en la terminal
Imagina esta situación: estás trabajando en un proyecto grande y necesitas renombrar una variable en docenas de archivos. ¿Abrir cada archivo en un editor? ¿Usar scripts de sed complicados? Ahora hay una solución elegante — serpl.
¿Qué es Serpl?
Serpl es una aplicación de terminal escrita en Rust que trae la comodidad de búsqueda y reemplazo de VS Code directamente a tu terminal. No es solo una utilidad de grep/sed, sino una TUI completa (Text User Interface) con vista previa interactiva y configuración flexible.
¿Por qué probarlo?
- Interfaz completa — no solo salida de consola, sino navegación práctica por paneles
- Maneja proyectos grandes — integrado con ripgrep para búsqueda rápida
- Búsqueda AST — soporte de ast-grep para consultas precisas de árbol de sintaxis
- Configuración flexible — soporta JSON/TOML/YAML
- Integración — funciona con Neovim y Helix
Instala en un minuto
Para usuarios de Rust:
cargo install serpl
O mediante administradores de paquetes:
- Homebrew:
brew install serpl - Arch Linux:
pacman -S serpl - NixOS:
nix profile install nixpkgs#serpl
Características principales
1. Búsqueda interactiva con vista previa
Serpl muestra los resultados de búsqueda en tiempo real con resaltado de coincidencias. Puedes navegar entre archivos y ver el contexto sin salir de la terminal.
2. Reemplazo inteligente
Soporta múltiples modos de reemplazo:
- Reemplazo simple
- Preservar mayúsculas/minúsculas
- Basado en AST (vía ast-grep)
3. Modos de búsqueda flexibles
- Texto plano
- Distinguir mayúsculas de minúsculas
- Palabra completa
- Expresiones regulares
- Búsqueda AST (para lenguajes de programación)
4. Integración completa con editores de terminal
Neovim tiene una configuración lista para usar:
return {
"akinsho/toggleterm.nvim",
cmd = { "ToggleTerm", "TermExec" },
-- ... конфигурация ...
}
Y para Helix, simplemente añade:
[keys.normal.ret]
t = [":write-all", ":insert-output serpl >/dev/tty", ":redraw", ":reload-all"]
¿Cuándo es especialmente útil?
- Refactorización de código — renombrado masivo de variables/funciones
- Migraciones — cambios de API, actualizaciones de dependencias
- Trabajo en servidores remotos — cuando no hay GUI pero necesitas búsqueda práctica
- Exploración rápida de código — encontrar todos los usos de una función
Bajo el capó
- Construido con Rust para máximo rendimiento
- Usa ratatui.rs para la interfaz
- Se integra con ripgrep y ast-grep
- Soporta configuración en 5 formatos (JSON, JSON5, YAML, TOML, INI)
Serpl es más que un simple reemplazo de grep/sed, sino una herramienta seria para desarrolladores que trabajan extensivamente en la terminal. Si:
- Amas las herramientas CLI
- Frecuentemente trabajas en servidores remotos
- Valoras la velocidad y la comodidad
entonces serpl definitivamente merece un lugar en tu kit de herramientas. El proyecto se desarrolla activamente (700+ estrellas en GitHub) y acepta contribuyentes.
Como bonus — prueba la combinación Ctrl+o para reemplazo masivo en todos los archivos. ¡Ahorro de tiempo garantizado!
Proyectos relacionados