Yanıtlar:
Yerleşik Emacs komutlarına yapışarak, multi-occur
ya da multi-occur-in-matching-buffers
( M-x multi-occur- TAB RET
) kullanabilirsiniz . multi-occur
Her bir tamponun kullanmasını isteyip istemediğinizi kontrol ederek hassas bir kontrol sağlar, ancak sıkıcıdır. multi-occur-in-matching-buffers
dosya adlarını eşleştirmek için bir regexp girmenize olanak sağlar (yalnızca dosyaları ziyaret eden arabelleklerde arama yapar); .
Bir dosyayı ziyaret eden tüm tamponlarda arama yapmak için regexp dosyasını girin .
Ayrıca arabellek veya dosyalar listesinde artan arama için işlevler de vardır, ancak multi-occur
arabellekleri veya dosyaları birer birer listelemeyi gerektirdikleri gibi sıkıcıdırlar .
Bir dizindeki tüm dosyaları veya belirli desenlerle eşleşen dosyaları açık, açık olsun olmasın, aramak için kullanabilirsiniz grep
. Varyantları vardır rgrep
ve grep-find
alt dizinleri tekrarlı olarak aramak için.
Başkalarının söylediklerine ek olarak - burada bunun için iki kaynak daha var.
M-x multi-isearch-buffers
veya M-x multi-isearch-buffers-regexp
(vanilya Emacs) - Birden çok arabellekte artımlı arama.
Eğer kullanırsanız Icicles o zaman kullanabilirsiniz icicle-search
(veya icicle-occur
, ya da diğer herhangi bir sayı icicle-search
uzmanlık) birden fazla dosya veya tamponlar arasında arama yapmak.
(İsteğe bağlı arabellekleri aramanın ve değiştirmenin yanı sıra , bunu birden fazla dosyada da yapan elbette komutlar vardır . grep
Örneğin, diğerleri de bahsetti . Örneğin A
, Dired'da elbette var . Ama dosya arama hakkında sormadınız.)
Bu komut ile dümen ile yapılabilir helm-multi-occur
. Dümeni melpa'dan yükleyebilir ve sonra komutu aşağıdaki gibi çağırabilirsiniz:
M-x helm-multi-occur RET M-a RET
Bu açılacak helm-multi-occur
ve ardından tüm tamponları seçecektir. M-a
Tüm arabellekleri işaretlemek yerine, isteğe bağlı olarak ilgilenilen arabellekleri birer birer seçebilirsiniz. Yukarı gidin ve listede aşağı C-n
ve C-p
birlikte ve işareti tamponları C-SPC
. Tüm tamponlar işaretlendikten sonra RET
, işaretli tamponları kabul etmek ve aramaya başlamak için tuşuna basın .
Aşağıdakileri init dosyanıza eklerseniz:
(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)))))
Daha sonra my-helm-multi-occur-buffers
, dosyalar tarafından desteklenen tüm tamponlarda çoklu oluşum yapma komutunu bağlayabilirsiniz .
helm-swoop
MELPA'daki pakete de bakmak isteyebilirsiniz. Bu işlevselliği sağlar ve sonuçların hızlı bir şekilde düzenlenmesini sağlar.
swiper-all
dan swiper paketinin bu iş için bir araç sağlar. Hatta artımlıdır, bu yüzden siz yazdıkça güncellenir.
ibuffer
Aramak istediğiniz arabellekleri işaretlemek için modu kullanabilirsiniz . Çağrı ibuffer-do-isearch
(bağlı M-s a C-s
varsayılan) metni aramak, ya da ibuffer-do-isearch-regexp
normal ifadede aramak için ihtiyaç olduğuna.
Eğer aşina ibuffer
değilseniz, ateşleyin ve üzerinde çalışacağınız bir dizi tampon seçebileceğiniz tüm yolları görmek için Mark menüsüne bakın.
İşte dümen ile başka bir yoludur: M-x helm-mini M-a C-s blah
. Çalıştırdıktan sonra helm-mini
, M-a
tüm açılış arabelleklerini işaretler , ardından C-s blah
işaretli arabelleklerde çoklu oluşum yapar.
Ayrıca, dümen modunu kullanan bir çözüm de vardır helm-swoop
.
kullanım
M-x helm-swoop RET
sonra, tüm açık arabellekleri aramak için,
M-i
daha sonra blah
tüm tamponlarda aramak için yazın . Farklı bir pencerede tüm oluşumları gösterecektir.
Alternatif olarak, sadece yazabilirsiniz
M-x helm-multi-swoop
daha sonra, aramak istediğiniz tüm arabellekleri M-SPC
veya ile işaretleyin C-SPC
, 'ye basın RET
ve arayın blah
.
.
Tüm dosyalarla eşleşecek normal ifade olduğunu belirtmek için +1 .