Editor mit Such- und Markierungsfunktion gesucht!
Forum › Editor mit Such- und Markierungsfunktion gesucht!
Uwe Müller – Mittwoch, 16. März 2005 15:04 Uhr
Hallo,
ich suche einen Editor (möglichst für KDE), der analog zum Textpad unter Windows eine Suchfunktion hat, die alle Zeilen markiert, die das Suchmuster enthalten und dann weitere Bearbeitungsfunktionen für die markierten Zeilen bietet. Hat jemand einen Tipp?
Gruß
Uwe
1 Antwort
Olaf Dreyer – Donnerstag, 17. März 2005 06:34 Uhr
Hallo,
nimm einfach KDevelop. Du kannst über das ganze Projekt suchen (mit regulären
Ausdrücken). Alle Treffer werden in einer separaten Liste angezeigt. Ein Klick
auf einen Treffer zeigt die betreffende Stelle in dem jeweiligen Dokument an.
Gruß
Olaf
Hmmm, das sollte dann mit kate auch gehen, oder? Diese Editorkomponente wird AFAIK auch von KDevelop genutzt; kein Grund diesen Elefanten von IDE hochzufahren, hoffe ich…
Hallo,
das habe ich probiert. Leider kommt man aber über das bloße Anzeigen einzelner Zeilen nicht hinaus. Ich möchte aber alle Zeilen, die meinen Suchtext enthalten, in einem Rutsch markieren können, um sie z. B. zu löschen oder zu kopieren.
Gruß
Uwe
In Dateien nach Zeilen suchen, die einem Pattern entsprechen und diese dann modifizieren? Das klingt nach einem klassischen Einsatzfeld von sed(1). Das ist zwar ein Kommandozeilentool, jedoch recht effektiv.
Oder vi: :%s/SUCHMUSTER/ERSETZUNG/g Wahlweise kann auch der Suchbereich eingeschränkt und jede einzelne Ersetzung bestätigt werden (Kommando …/gc); gelöscht wird durch einen leeren Ersetzungstext. Die vi-Suche ist eine der mächtigsten Möglichkeiten und viel universeller als WordPad; jedoch funktioniert sie etwas anders als selbiges, du müßtest dich also etwas umstellen.
Daß du einen Editor findest der multiple Markierungen wie von dir beschrieben für die Ersetzung unterstützt ist IMHO unwahrscheinlich; OpenOffice kann sie zwar, benutzt sie aber nicht für die Suchen/Ersetzen-Funktion (vermutlich weil so eine “pauschale Markierung” nicht ganz problemlos ist wenn die Texte länger und unübersichtlicher werden).
An vi hatte ich auch schon gedacht, kenne mich aber mit den Kommandos nicht so gut aus und die Hilfe ist nicht gerade übersichtlich. Aber dein Vorschlag würde mein Problem auch nicht lösen, denn wenn ich ihn richtig verstehe, ersetzt er nur das Suchmuster durch irgendetwas. Ich möchte aber die Zeilen, welche das Suchmuster enthalten, bearbeiten (z. B. löschen).
Auch kein großes Problem; versuch’s mal mit :%s/^.*SUCHMUSTER.*\n//g Erklärung: Findet alle Textstellen, die vor und nach SUCHMUSTER beliebige (.) und beliebig viele (*) Zeichen (also .*) aufweisen und von einem Zeilenanfang (^) und einer Zeilenschaltung (\n) begrenzt werden, und ersetze diese durch einen leeren String (Ergebnis: lösche die Zeile die SUCHMUSTER enthält).
Für Hilfe zur Ersetzung kannst du :help :s, zu den Mustern (die im Großen und Ganzen normalen regulären Ausdrücken entsprechen) :help pattern aufrufen. Besser aber du kaufst dir für den Einstieg ein gutes Buch über vi, denn die Vielfalt der Möglichkeiten kann durchaus etwas verwirrend sein, und die vi-Hilfe ist mehr Referenz als Tutorial.
Danke, genau das war, was ich gesucht hatte! Ich hatte zwar die stille Hoffnung, einen etwas komfortableren Editor zu finden, der das kann, aber letztlich tut’s der vi auch. Leider habe ich nicht so oft damit zu tun und die Syntax für die regulären Ausdrücke ist mir auch nicht so geläufig. :-(
Vielleicht lege ich mir wirklich mal ein Buch zu!
Gruß
Uwe
Sollte neben dem VI auch mit allen Editoren mit Suchen und Ersetzen Funktionalität gehen (zumindest, solange die Regexps können). Kate kann das z.B. auch. Gibt es da nicht auch ein Plugin für die SED Funktionen?
Schau Die mal den nedit an. Das ist ein sehr vielseitiger Editor. Spezielle Sachen beim Suchen und Ersetzen funktionieren zwar auch nur über RegEx, aber der Rest des Editors ist ein normaler graphischer Texteditor.
Stimmt natürlich, viele Texteditoren bieten inzwischen auch die Möglichkeit Regular Expressions anzugeben. Bei Kate (2.3.2, aus KDE 3.3.2) muß der Suchstring aber lauten
^.*SUCHMUSTER.*$
also ein Dollar- anstelle des Newlinezeichens. Der Regexp-Editor von Kate ist übrigens auch genial! (Text suchen ? Regulärer Ausdruck ? Bearbeiten…)