If you want another way to do this, you can use Icicles. A non-negative prefix arg with command icicle-occur
(C-c '
) searches multiple buffers line by line (like occur
, moccur
, and grep
). If you hit C-!
at the prompt that asks which buffers then all buffers are searched.
C-9 C-c ' C-! RET
Here, C-9
says search multiple buffers. C-c '
is icicle-occur
, which is a line-by-line search, like grep
. C-!
says choose all candidates (the candidates are the existing buffers). RET
ends choosing buffers.
Then you type whatever search patterns you want. The search hits are shown in popup buffer *Completions*
. Change your minibuffer input and the matching hits change. Use S-SPC
to lock in one pattern and add an additional pattern to match. You can use down
to cycle among candidates or continue to narrow the choices. You can cycle showing the matches in context in the buffers, using C-down
.
Each search candidate is a buffer line followed by the buffer name. You can match both if you like. Matching can be using any number of search patterns (separated using S-SPC
), and each pattern can be a regexp (or other kinds of patterns).
*helm multi occur*
(or any other helm buffers) is not designed to operate directly by user, I guess you might switch to that buffer by mistake/accident. If you think it may be a bug of helm, you'd better report it to the helm project, don't forget to tell others how to reproduce it with a clean Emacs config (see also github.com/emacs-helm/helm/wiki#debugging).