回答:
組み込みのEmacsコマンドにこだわり、multi-occuror multi-occur-in-matching-buffers(M-x multi-occur- TAB RET)を使用できます。multi-occur使用するバッファごとにプロンプトを表示することで、きめ細かく制御できますが、面倒です。multi-occur-in-matching-buffersファイル名と一致する正規表現を入力できます(ファイルを訪問しているバッファーでのみ検索します)。.ファイルを訪問しているすべてのバッファで検索するには、ファイル正規表現として入力します。
バッファまたはファイルのリスト全体をインクリメンタル検索する機能もありますがmulti-occur、バッファまたはファイルを1つずつリストする必要があるため退屈です。
ディレクトリ内のすべてのファイル、または特定のパターンに一致するファイルを、開いているかどうかに関係なく検索するには、を使用できますgrep。亜種がrgrepありgrep-find、サブディレクトリを再帰的に検索します。
他の人が言及したことに加えて、ここに他の2つのリソースがあります。
M-x multi-isearch-buffersまたはM-x multi-isearch-buffers-regexp(バニラEmacs)-複数のバッファーにわたるインクリメンタル検索。
あなたが使用している場合はつららを、あなたは使用することができますicicle-search(またはicicle-occur、または他の任意の数のicicle-search複数のファイルまたはバッファ間で検索する専門)。
(任意のバッファでの検索と置換に加えて、複数のファイルでそれを行うコマンドがあります。grepたとえば、他の人が言及しています。もちろんA、Diredにもあります。しかし、ファイルの検索については尋ねませんでした。)
これは、コマンドを介してヘルムで実行できますhelm-multi-occur。ヘルパをmelpaからインストールして、次のようにコマンドを呼び出すことができます。
M-x helm-multi-occur RET M-a RET
これによりhelm-multi-occur、すべてのバッファが開き、選択されます。M-aすべてのバッファをマークするために使用する代わりに、必要に応じて一度に1つのバッファを選択できます。リストを上下に移動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-swoopMELPAパッケージ。この機能を提供し、結果の迅速な編集も可能にします。
.は、すべてのファイルに一致する正規表現です。