>_ DevTrendsde

Sprache

Start

Sprachen

Bereiche

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicherheit
Rust

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?

  1. Code-Refactoring — Massenumbenennung von Variablen/Funktionen
  2. Migrationen — API-Änderungen, Abhängigkeitsaktualisierungen
  3. Arbeit auf Remote-Servern — wenn keine GUI verfügbar ist, aber komfortable Suche benötigt wird
  4. 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