Kapitel 7. Suchen und Ersetzen

Das Suchen und Ersetzen ist im Weaverslave etwas ungewöhnlich gelöst, bietet jedoch nach kurzer Einarbeitungszeit sehr viele Möglichkeiten. Die Suchfunktion besteht aus zwei Teilen. Einem Toolfenster, welches Sie frei positionieren können und einem Dialog für die erweiterte Eingabe.

Suchfenster mit Ergebnissen

Abbildung 7.1. Suchfenster mit Ergebnissen

Im Toolfenster kann man direkt im aktuellen Dokument nach einem bestimmten Text suchen. Dabei wird automatisch das nächste Ergebnis nach der aktuellen Textcursorposition markiert. Zusätzlich werden alle Ergebnisse in einer Liste angezeigt. Vor jedem Treffer steht die Zeichenposition dieser Textstelle. Außerdem wird jeweil der Text vor und nach dem eigentlichen Treffer mit angezeigt. Über den eigentlichen Treffern wird der Dateiname und die Anzahl der Treffer in dieser Datei angezeigt.

Mit einem Doppelklick auf einen Treffer können Sie diesen im Qelltext markieren. Die Ergebnisliste paßt sich dabei automatisch an Textänderungen an. Editieren Sie innerhalb eines Treffers wird dieser entfernt. Bei den anderen Treffern wird die Zeichenposition angepaßt. Mittels <F3> kann man zum nächsten Suchergebnis nach der aktuellen Position des Textcursors springen.

Am unteren Ende des Toolfensters findet sich eine Statusleiste. Sie zeigt die durchsuchten Dateien, die Anzahl der Treffer und die Anzahl der ersetzten Textstellen an.

Suchdialog mit Dateierweiterungen

Abbildung 7.2. Suchdialog mit Dateierweiterungen

Der erste Button am oberen Ende des Toolfensters ruft den Dialog zum Suchen und Ersetzen auf. Über die Tabs können Sie festlegen, ob Sie eine einzeilige oder eine mehrzeilige Sucheingabe machen wollen. Bei der einzeiligen Eingabe können Sie die üblichen Optionen aktivieren. Die regulären Ausdrücke des Weaverslave entsprechen dabei weitesgehend PCRE (Perl Compatible Regular Expressions - Perl kompatible reguläre Ausdrücke). Einige der erweiterten Funktionen, wie optionale Subpatterns, werden nicht unterstützt.

Im nächsten Eingabefeld können Sie den Text eingeben, welcher beim Ersetzen verwendet werden soll. Wenn Sie hier "Regulärer Ausdruck" aktivieren, können Sie $0 als Platzhalter für den Gesamttreffer nutzen. $1, $2, usw sind Platzhalter für die entsprechenden Gruppen aus dem Treffer.

Darunter können Sie angeben, wo das Programm suchen soll. Sie können mit der gleichen Funktion im aktuellen Dokument, in allen geöffneten Dokumenten oder in ganzen Verzeichnisbäumen suchen. Das Aktuelle Verzeichnis ist das Verzeichnis des internen Dateibrowsers.

Wenn Sie ein Verzeichnis auswählen, können Sie zusätzlich einen Dateifilter festlegen. Dies kann durch eine direkte Eingabe des Filters geschehen oder in dem Sie den rechten Bereich aufklappen und Dateiendungen auswählen.

Der Button Ersetzen ist etwas abgeteilt. Sie können ihn ignorieren, da er nicht unbedingt notwendig ist. Mit dem Button Suchen lösen Sie den Suchvorgang aus. Der Suchdialog wird geschlossen und die Treffer in der Ergebnisliste dargestellt. Die Treffer sind nach den Dateien gruppiert und nur die Gruppe des aktuellen Dokumentes wird direkt geöffnet. Die Gruppen können Sie mit einem Klick auf den Dateinamen auf- und zuklappen.

Über das Kontextmenu und die Toolbar können Sie die einzelnen Treffer prüfen, ersetzen oder aus der Ergebnisliste entfernen.

Kontextmenü der Treffer

Abbildung 7.3. Kontextmenü der Treffer

Die Ergebnisliste wird dabei automatisch an Textänderungen angepaßt. Somit können Sie die Ergebnisse prüfen und bearbeiten, bevor Sie über das DropDown des Ersetzen-Buttons im Toolbar das eigentliche Ersetzen für eine Datei oder alle Treffer auslösen.