2009-05-25 7 views

Antwort

16

M-x occur?

Von the manual:

M-x occur

Prompt für einen regulären Ausdruck, und eine Liste angezeigt, jede Zeile in dem Puffer zeigt, der ein Spiel für sie enthält. Der übereinstimmende Text wird mit der Ziffer match hervorgehoben. Um die Suche auf einen Teil des Puffers zu beschränken, beschränken Sie sich auf diesen Teil (siehe Eingrenzen). Ein numerisches Argument n gibt an, dass n Kontextlinien vor und nach jeder übereinstimmenden Zeile angezeigt werden sollen. Die Standardanzahl der Kontextzeilen wird durch die Variable festgelegt.

Im Puffer *Occur* können Sie auf jeden Eintrag klicken oder Punkt dorthin bewegen und RET eingeben, um die entsprechende Position im Puffer zu suchen, der durchsucht wurde. o und C-o das Spiel in einem anderen Fenster anzeigen; C-o wählt es nicht aus. Alternativ können Sie den Befehl C-x ` (next-error) verwenden, um die Vorkommen nacheinander aufzurufen (siehe Kompilierungsmodus).

Die Eingabe e in den Puffer *Occur* wechselt in den Bearbeitungsmodus Bearb., In dem die an den Einträgen vorgenommenen Änderungen auch auf den Text im Ausgangspuffer angewendet werden. Geben Sie C-c C-c ein, um zum Modus Auftreten zurückzukehren.

Der Befehl ist ein Synonym für M-x occur.

+0

Vielen Dank für Ihre Antwort! –

+0

kein Problem ... Ich bin ein vi Kerl, der manchmal Emacs verwenden muss ... – LB40

4

Meine übliche Workflow ist keine Liste zu bekommen, und wählen Sie (nicht wissen, wie das zu tun), aber die inkrementelle Suche zu verwenden:

C-s <search target> 

bekommt die Faust Spiel nach dem Punkt. Wenn Sie es nicht mögen, bekommt ein anderer C-s den nächsten. Fahren Sie fort, bis Sie glücklich sind (Sie benötigen ein zusätzliches C-s, um vom Puffer und vom Puffer zu wickeln). Neu genug emacsen kann auch alle sichtbaren Treffer hervorheben.

Wie in den Kommentaren von Török Gábor erwähnt, ist dies die typische Tastenbindung von isearch-forward. Für den Fall, dass Ihre Bindungen anders sind, müssen Sie das vorgeschriebene Verfahren ändern.

+3

'isearch-forward' (dh' Cs') erlaubt Ihnen auch, 'Co' nach der gegebenen Suchphrase zu tippen, und dann es Läuft 'auftreten' was LB vorgeschlagen hat. Auf diese Weise können Sie ihre Kraft auf einmal nutzen. –

+0

Danke, Török. Noch etwas, das ich nicht über Emacs wusste. – dmckee

+0

Das scheint bei mir nicht zu funktionieren - 'C-o' ist an' open-line' gebunden. –

5

Zusätzlich zu M-x occurr überprüfen Sie auch M-x Grep. Dies funktioniert in mehreren Dateien gleichzeitig.

+3

'rgrep' ist noch besser, da es rekursive Suche ermöglicht. –

Verwandte Themen