답변:
내장 Emacs 명령을 사용하여 multi-occur
또는 multi-occur-in-matching-buffers
( M-x multi-occur- TAB RET
)를 사용할 수 있습니다 . multi-occur
각 버퍼에 사용할 것인지 묻는 메시지를 표시하여 세밀하게 제어 할 수 있지만 지루합니다. multi-occur-in-matching-buffers
파일 이름과 일치하는 정규 표현식을 입력 할 수 있습니다 (파일을 방문하는 버퍼에서만 검색). .
파일을 방문하는 모든 버퍼에서 검색하려면 파일 regexp로 입력 하십시오.
버퍼 나 파일 목록에 대한 증분 검색 기능도 있지만 multi-occur
버퍼 나 파일을 하나씩 나열해야하는 것처럼 지루 합니다.
디렉토리의 모든 파일 또는 특정 패턴과 일치하는 파일이 열려 있는지 여부에 관계없이 검색하려면을 사용할 수 있습니다 grep
. 이 변종은 rgrep
과 grep-find
재귀 적으로 하위 디렉토리를 검색 할 수 있습니다.
다른 사람들이 언급 한 것 외에도 여기에 다른 두 가지 리소스가 있습니다.
M-x multi-isearch-buffers
또는 M-x multi-isearch-buffers-regexp
(vanilla Emacs)-여러 버퍼에서 증분 검색.
당신이 사용하는 경우 차가워을 당신은 사용할 수 있습니다 icicle-search
(또는 icicle-occur
, 또는 다른 임의의 수의 icicle-search
전문)는 여러 파일이나 버퍼를 검색 할 수 있습니다.
(임의의 버퍼 를 검색하고 교체하는 것 외에도 여러 파일 에서이를 수행하는 명령이 있습니다 . grep
예를 들어 다른 사람들도 언급했습니다 . A
물론 Dired도 있습니다. 그러나 파일 검색에 대해서는 묻지 않았습니다.)
이것은 명령을 통해 키로 수행 할 수 있습니다 helm-multi-occur
. melpa 에서 helm을 설치 한 후 다음과 같이 명령을 호출 할 수 있습니다 .
M-x helm-multi-occur RET M-a RET
그러면 helm-multi-occur
모든 버퍼 가 열립니다 . M-a
모든 버퍼를 표시 하는 데 사용 하는 대신 원하는 버퍼를 한 번에 하나씩 선택할 수 있습니다. 최대 이동과 함께 다운 목록 C-n
과 C-p
와 마크 버퍼 C-SPC
. 모든 버퍼가 표시되면를 눌러 RET
표시된 버퍼를 승인하고 검색을 시작하십시오.
init 파일에 다음을 추가하면 :
(require 'helm-regexp)
(eval-after-load "helm-regexp"
'(setq helm-source-moccur
(helm-make-source "Moccur" 'helm-source-multi-occur :follow 1)))
;; (source: http://stackoverflow.com/q/14726601)
(defun my-helm-multi-occur-buffers ()
"multi-occur in all buffers backed by files."
(interactive)
(helm-multi-occur
(delq nil
(mapcar (lambda (b)
(when (buffer-file-name b) (buffer-name b)))
(buffer-list)))))
그런 다음 명령 my-helm-multi-occur-buffers
을 바인드하여 파일이 지원하는 모든 버퍼에서 다중 발생을 수행 할 수 있습니다 .
helm-swoop
MELPA 에서 패키지 를 볼 수도 있습니다 . 이 기능을 제공하고 결과를 빠르게 편집 할 수 있습니다.
.
모든 파일과 일치하는 정규식 이라고 언급하면 +1입니다 .