Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to search effectively in Emacs

Tags:

search

emacs

I want to have a similar tool in Emacs as the following in Vim

 :g/search/

to get a list of matches.

How can you get a list of matches in Emacs?

like image 659
Léo Léopold Hertz 준영 Avatar asked May 25 '09 22:05

Léo Léopold Hertz 준영


2 Answers

M-x occur?

From the manual:

M-x occur

Prompt for a regexp, and display a list showing each line in the buffer that contains a match for it. The text that matched is highlighted using the match face. To limit the search to part of the buffer, narrow to that part (see Narrowing). A numeric argument n specifies that n lines of context are to be displayed before and after each matching line. The default number of context lines is specified by the variable list-matching-lines-default-context-lines.

In the *Occur* buffer, you can click on each entry, or move point there and type RET, to visit the corresponding position in the buffer that was searched. o and C-o display the match in another window; C-o does not select it. Alternatively, you can use the C-x ` (next-error) command to visit the occurrences one by one (see Compilation Mode).

Typing e in the *Occur* buffer switches to Occur Edit mode, in which edits made to the entries are also applied to the text in the originating buffer. Type C-c C-c to return to Occur mode.

The command M-x list-matching-lines is a synonym for M-x occur.

like image 174
LB40 Avatar answered Nov 20 '22 16:11

LB40


In addition to M-x occurr check also M-x grep. This works in several files at once.

like image 34
dfa Avatar answered Nov 20 '22 18:11

dfa