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?
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 Argumentn
gibt an, dassn
Kontextlinien vor und nach jeder übereinstimmenden Zeile angezeigt werden sollen. Die Standardanzahl der Kontextzeilen wird durch die Variablelist-matching-lines-default-context-lines
festgelegt.Im
*Occur*
-Puffer können Sie auf jeden Eintrag klicken oder dort einen Punkt verschieben undRET
eingeben, um die entsprechende Position im Puffer zu suchen, der durchsucht wurde.o
undC-o
zeigen die Übereinstimmung in einem anderen Fenster an;C-o
wählt es nicht aus. Alternativ können Sie den BefehlC-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 SieC-c C-c
ein, um zum Modus "Auftreten" zurückzukehren.Der Befehl
M-x list-matching-lines
ist ein Synonym fürM-x occur
.
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.