Aqui estão algumas possibilidades que não são muito lisas, que têm a vantagem de trabalhar com um Emacs padrão.
Se você pressionar M-s o
( isearch-occur
) durante uma pesquisa incremental, um buffer Occur será exibido com a expressão de pesquisa atual. No topo do *Occur*
buffer está o número de linhas correspondentes.
O comando how-many
exibe o número de ocorrências de uma regexp (incluindo ocorrências repetidas). Infelizmente, ele não está integrado à pesquisa incremental. Aqui está uma integração de pesquisa de prova de conceito: pressione M-s #
durante a pesquisa para mostrar o número de correspondências.
(defun isearch-how-many (regexp)
"Run `how-many' using the last search string as the regexp.
Interactively, REGEXP is constructed as with `isearch-occur'."
(interactive
(list (cond
((functionp isearch-word)
(funcall isearch-word isearch-string))
(isearch-word (word-search-regexp isearch-string))
(isearch-regexp isearch-string)
(t (regexp-quote isearch-string)))))
(how-many regexp nil nil (interactive-p)))
(define-key isearch-mode-map [?\M-s ?#] 'isearch-how-many)