In Emacs kann nicht effektiv gesucht werden

7

Ich möchte ein ähnliches Werkzeug in Emacs haben wie das folgende in Vim

%Vor%

, um eine Liste der Übereinstimmungen zu erhalten.

Wie erhalten Sie eine Liste der Übereinstimmungen in Emacs?

    
Léo Léopold Hertz 준영 25.05.2009, 22:39
quelle

3 Antworten

16

M-x occur ?

Von dem Handbuch :

  

M-x occur

     

Aufforderung für eine Regexp und Anzeige einer Liste mit jeder Zeile im Puffer, die eine Übereinstimmung dafür enthält. Der übereinstimmende Text wird mit dem match -Feld 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 list-matching-lines-default-context-lines festgelegt.

     

Im *Occur* -Puffer können Sie auf jeden Eintrag klicken oder dort einen Punkt verschieben und RET eingeben, um die entsprechende Position im Puffer zu suchen, der durchsucht wurde. o und C-o zeigen die Übereinstimmung in einem anderen Fenster an; 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).

     

Das Eingeben von e in den *Occur* -Puffer wechselt in den Modus "Bearbeiten", 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 M-x list-matching-lines ist ein Synonym für M-x occur .

    
LB40 25.05.2009, 22:56
quelle
5

Zusätzlich zu M-x occurr überprüfe auch M-x grep. Dies funktioniert in mehreren Dateien gleichzeitig.

    
dfa 25.05.2009 23:01
quelle
4

Mein üblicher Workflow besteht nicht darin, eine Liste zu erhalten und auszuwählen (weiß nicht, wie ich das machen soll), sondern die inkrementelle Suche zu verwenden:

%Vor%

bekommt das erste Match nach dem Punkt. Wenn es Ihnen nicht gefällt, bekommt C-s den nächsten. Fahren Sie fort, bis Sie zufrieden sind (Sie benötigen einen zusätzlichen C-s , um vom und des Puffers zu umgehen). 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 Tastenkombination von isearch-forward . Für den Fall, dass Ihre Bindungen anders sind, müssen Sie die vorgeschriebene Prozedur ändern.

    
dmckee 25.05.2009 22:58
quelle

Tags und Links