Serpl — VS Code-ähnliche Suche und Ersetzung direkt im Terminal
Stellen Sie sich folgende Situation vor: Sie arbeiten an einem großen Projekt und müssen eine Variable in Dutzenden von Dateien umbenennen. Jede Datei im Editor öffnen? Umständliche sed-Skripte verwenden? Jetzt gibt es eine elegante Lösung — serpl.
Was ist Serpl?
Serpl ist eine in Rust geschriebene Terminal-Anwendung, die den Komfort von VS Codes Such- und Ersetzungsfunktionen direkt in Ihr Terminal bringt. Es ist nicht nur ein grep/sed-Werkzeug, sondern eine vollwertige TUI (Text User Interface) mit interaktiver Vorschau und flexibler Konfiguration.
Warum lohnt es sich, es auszuprobieren?
- Vollständige Benutzeroberfläche — nicht nur Konsolenausgabe, sondern komfortable panelbasierte Navigation
- Verarbeitet große Projekte — integriert mit ripgrep für schnelles Durchsuchen
- AST-Suche — ast-grep-Unterstützung für präzise Syntaxbaum-Abfragen
- Flexible Konfiguration — unterstützt JSON/TOML/YAML
- Integration — funktioniert mit Neovim und Helix
Installation in einer Minute
Für Rust-Benutzer:
cargo install serpl
oder über Paketmanager:
- Homebrew:
brew install serpl - Arch Linux:
pacman -S serpl - NixOS:
nix profile install nixpkgs#serpl
Wichtige Funktionen
1. Interaktive Suche mit Vorschau
Serpl zeigt Suchergebnisse in Echtzeit mit Hervorhebung von Treffern. Sie können zwischen Dateien navigieren und Kontext anzeigen, ohne das Terminal zu verlassen.
2. Intelligente Ersetzung
Unterstützt mehrere Ersetzungsmodi:
- Einfache Ersetzung
- Groß-/Kleinschreibung beibehalten
- AST-basiert (über ast-grep)
3. Flexible Suchmodi
- Klartext
- Groß-/Kleinschreibung beachten
- Ganzes Wort
- Reguläre Ausdrücke
- AST-Suche (für Programmiersprachen)
4. Vollständige Integration mit Terminal-Editoren
Neovim hat eine sofort einsatzbereite Konfiguration:
return {
"akinsho/toggleterm.nvim",
cmd = { "ToggleTerm", "TermExec" },
-- ... конфигурация ...
}
Und für Helix einfach hinzufügen:
[keys.normal.ret]
t = [":write-all", ":insert-output serpl >/dev/tty", ":redraw", ":reload-all"]
Wann ist es besonders nützlich?
- Code-Refactoring — Massenumbenennung von Variablen/Funktionen
- Migrationen — API-Änderungen, Abhängigkeitsaktualisierungen
- Arbeit auf Remote-Servern — wenn keine GUI verfügbar ist, aber komfortable Suche benötigt wird
- Schnelle Code-Exploration — alle Funktionsverwendungen finden
Unter der Haube
- In Rust für maximale Leistung entwickelt
- Verwendet ratatui.rs für die Benutzeroberfläche
- Integriert mit ripgrep und ast-grep
- Unterstützt Konfiguration in 5 Formaten (JSON, JSON5, YAML, TOML, INI)
Serpl ist mehr als nur ein Ersatz für grep/sed, sondern ein ernsthaftes Werkzeug für Entwickler, die ausgiebig im Terminal arbeiten. Wenn Sie:
- CLI-Tools bevorzugen
- Oft auf Remote-Servern arbeiten
- Schnelligkeit und Benutzerfreundlichkeit schätzen
dann verdient serpl definitiv einen Platz in Ihrem Werkzeugkasten. Das Projekt wird aktiv weiterentwickelt (700+ Sterne auf GitHub) und freut sich über Beitragende.
Als Bonus — probieren Sie die Kombination Ctrl+o für Massenersetzung in allen Dateien. Zeitersparnis garantiert!
Ähnliche Projekte