Serpl — VS Code-achtig zoeken en vervangen direct in de terminal
Stel je dit voor: je werkt aan een groot project en moet een variabele hernoemen in tientallen bestanden. Elk bestand in een editor openen? Omslachtige sed-scripts gebruiken? Nu is er een elegante oplossing — serpl.
Wat is Serpl?
Serpl is een terminaltoepassing geschreven in Rust die het gemak van VS Code's zoek- en vervangfunctie rechtstreeks naar je terminal brengt. Het is niet zomaar een grep/sed-hulpprogramma, maar een volledig uitgeruste TUI (Text User Interface) met interactief voorbeeld en flexibele configuratie.
Waarom zou je het proberen?
- Volledig uitgeruste interface — niet alleen console-uitvoer, maar handige navigatie op basis van panelen
- Verwerkt grote projecten — geïntegreerd met ripgrep voor snel zoeken
- AST-zoekopdrachten — ast-grep-ondersteuning voor nauwkeurige syntaxisboomquery's
- Flexibele configuratie — ondersteunt JSON/TOML/YAML
- Integratie — werkt met Neovim en Helix
In een minuut geïnstalleerd
Voor Rust-gebruikers:
cargo install serpl
Of via pakketbeheerders:
- Homebrew:
brew install serpl - Arch Linux:
pacman -S serpl - NixOS:
nix profile install nixpkgs#serpl
Belangrijkste functies
1. Interactief zoeken met voorbeeld
Serpl toont zoekresultaten in realtime met markering van overeenkomsten. Je kunt navigeren tussen bestanden en context bekijken zonder de terminal te verlaten.
2. Slim vervangen
Ondersteunt meerdere vervangingsmodi:
- Eenvoudig vervangen
- Houd casing aan
- AST-gebaseerd (via ast-grep)
3. Flexibele zoekmodi
- Platte tekst
- Hoofdlettergevoelig
- Hele woord
- Reguliere expressies
- AST-zoekopdrachten (voor programmeertalen)
4. Volledige integratie met terminaleditors
Neovim heeft een direct te gebruiken configuratie:
return {
"akinsho/toggleterm.nvim",
cmd = { "ToggleTerm", "TermExec" },
-- ... конфигурация ...
}
En voor Helix voeg je simpelweg toe:
[keys.normal.ret]
t = [":write-all", ":insert-output serpl >/dev/tty", ":redraw", ":reload-all"]
Wanneer is het bijzonder nuttig?
- Code refactoring — bulksgewijs hernoemen van variabelen/functies
- Migraties — API-wijzigingen, afhankelijkheidsupdates
- Werken op remote servers — wanneer er geen GUI is maar je wel handig zoeken nodig hebt
- Snelle codeverkenning — alle functiegebruiken vinden
Onder de motorkap
- Gebouwd met Rust voor maximale prestaties
- Gebruikt ratatui.rs voor de UI
- Geïntegreerd met ripgrep en ast-grep
- Ondersteunt configuratie in 5 formaten (JSON, JSON5, YAML, TOML, INI)
Serpl is meer dan zomaar een vervanging voor grep/sed, maar een serieus hulpmiddel voor ontwikkelaars die uitgebreid in de terminal werken. Als je:
- CLI-hulpprogramma's leuk vindt
- Vaak op remote servers werkt
- Snelheid en gemak waardeert
dan verdient serpl zeker een plekje in je gereedschapskist. Het project wordt actief ontwikkeld (700+ sterren op GitHub) en verwelkomt bijdragers.
Als bonus — probeer de combinatie Ctrl+o voor bulksgewijs vervangen in alle bestanden. Tijdbesparing gegarandeerd!
Gerelateerde projecten