Serpl — Ricerca e Sostituzione come in VS Code Direttamente nel Terminale
Immagina questa situazione: stai lavorando a un progetto grande e devi rinominare una variabile in decine di file. Aprire ogni file in un editor? Usare script sed complicati? Ora c'è una soluzione elegante — serpl.
Cos'è Serpl?
Serpl è un'applicazione terminale scritta in Rust che porta la praticità della ricerca e sostituzione di VS Code direttamente nel tuo terminale. Non è solo un'utilità grep/sed, ma un'interfaccia TUI (Text User Interface) completa con anteprima interattiva e configurazione flessibile.
Perché provarlo?
- Interfaccia completa — non solo output console, ma navigazione comoda basata su pannelli
- Gestisce progetti grandi — integrato con ripgrep per ricerche veloci
- Ricerca AST — supporto ast-grep per query precise su alberi sintattici
- Configurazione flessibile — supporta JSON/TOML/YAML
- Integrazione — funziona con Neovim e Helix
Installazione in un minuto
Per utenti Rust:
cargo install serpl
Oppure tramite gestori di pacchetti:
- Homebrew:
brew install serpl - Arch Linux:
pacman -S serpl - NixOS:
nix profile install nixpkgs#serpl
Funzionalità principali
1. Ricerca interattiva con anteprima
Serpl mostra i risultati della ricerca in tempo reale con l'evidenziazione delle corrispondenze. Puoi navigare tra i file e visualizzare il contesto senza uscire dal terminale.
2. Sostituzione intelligente
Supporta diverse modalità di sostituzione:
- Sostituzione semplice
- Mantieni maiuscole/minuscole
- Basata su AST (tramite ast-grep)
3. Modalità di ricerca flessibili
- Testo normale
- Maiuscole/minuscole
- Parola intera
- Espressioni regolari
- Ricerca AST (per linguaggi di programmazione)
4. Integrazione completa con editor terminale
Neovim ha una configurazione pronta all'uso:
return {
"akinsho/toggleterm.nvim",
cmd = { "ToggleTerm", "TermExec" },
-- ... конфигурация ...
}
E per Helix, basta aggiungere:
[keys.normal.ret]
t = [":write-all", ":insert-output serpl >/dev/tty", ":redraw", ":reload-all"]
Quando è particolarmente utile?
- Refactoring del codice — rinomina in blocco variabili/funzioni
- Migrazioni — modifiche API, aggiornamenti dipendenze
- Lavoro su server remoti — quando non c'è GUI ma serve una ricerca comoda
- Esplorazione rapida del codice — trovare tutti gli utilizzi di una funzione
Sotto il cofano
- Costruito con Rust per massime prestazioni
- Utilizza ratatui.rs per l'interfaccia utente
- Si integra con ripgrep e ast-grep
- Supporta configurazione in 5 formati (JSON, JSON5, YAML, TOML, INI)
Serpl è più di un semplice sostituto di grep/sed, ma uno strumento serio per gli sviluppatori che lavorano molto nel terminale. Se tu:
- Ami gli strumenti CLI
- Lavori spesso su server remoti
- Valorizzi velocità e praticità
allora serpl merita sicuramente un posto nel tuo toolkit. Il progetto è sviluppato attivamente (700+ stelle su GitHub) e accoglie contributori.
Come bonus — prova la combinazione Ctrl+o per la sostituzione in blocco su tutti i file. Risparmio di tempo garantito!
Progetti correlati