Kann nur das übereinstimmende Teil angezeigt werden?

7

Oder gibt es ein alternatives Tool (möglicherweise eine Option dazu isearch?), Das nur die Übereinstimmungen in einem separaten Puffer anzeigt, der mit dem ursprünglichen Puffer verknüpft ist?

Anwendungsfall

Ich habe eine Protokolldatei mit sehr langen Zeilen. Wenn die übereinstimmende Zeile im *occur*Puffer angezeigt wird , ist sie immer noch zu überladen, um nützlich zu sein (aufgrund des Umbruchs und vieler zusätzlicher Informationen).

Es ist nicht schwer, so etwas zu schreiben, aber es scheint so grundlegend zu sein, dass es vorher gemacht worden sein muss.

Wenn meine Erklärung nicht gut genug war, denken Sie darüber nach grep -Po search-string.

wvxvw
quelle
Ich kenne keinen anderen Befehl dafür, aber warum nicht einfach M-x grepmit verwenden -Po? (zB grep -Po -nH -e search-string *.el) Das funktioniert bei mir. Puffer *grep*kommt so ziemlich vor, nein?
Drew
@Drew würde das sicherlich funktionieren, aber Sie müssten den Puffer in einer Datei speichern (in meinem Fall kein Problem, aber im Allgemeinen möchten Sie mit Puffern arbeiten).
wvxvw
Entschuldigung, ich verstehe nicht. Warum sollten Sie den Puffer in einer Datei speichern müssen? Wie verwenden Sie hier eine Datei für die Suchtreffer? (Ich sehe nichts darüber in der Frage.)
Drew
@ In diesem speziellen Fall nicht gezogen, aber ich arbeite ziemlich oft mit Puffern, die sich nicht auf Dateien beziehen. Es wäre schön, auch Übereinstimmungen für sie anzeigen zu können. Zum Beispiel: eine Sitzung in einer interaktiven Shell, ein Prozessausgabepuffer, eine Webseite, die in einem eingebetteten Browser geöffnet wurde usw.
wvxvw
Oh, ich verstehe - natürlich. Entschuldigung, ich habe es nicht verstanden. Ich dachte, Sie sprechen davon, dass der *grep*Puffer einer Datei zugeordnet ist, anstatt nach Nicht-Dateipuffern zu suchen.
Drew

Antworten:

4

occurkann dies mit Präfix-Argument tun C-u M-x occur.

link0ff
quelle
Oh, ich habe es falsch versucht, klar, jetzt verstehe ich.
wvxvw
1
Es gibt etwas, das ich zuerst nicht bemerkt habe: Wenn occures auf diese Weise aufgerufen wird, sind die angezeigten Übereinstimmungen nicht mehr mit der Stelle im ursprünglichen Puffer verknüpft, aus der sie stammen. Es scheint keine Möglichkeit zu geben, sie interaktiv zu gestalten, oder?
wvxvw
Derzeit auftreten verknüpft nicht nur Übereinstimmungen mit dem ursprünglichen Puffer. Die Implementierung dieser Funktion ist jedoch unkompliziert.
Um