जवाबों:
अंतर्निहित एमएसीएस कमांड्स से चिपके हुए, आप उपयोग ( multi-occur
या ) कर सकते हैं । प्रत्येक बफर का उपयोग करने के लिए संकेत देकर आपको ठीक नियंत्रण देता है, लेकिन यह थकाऊ है। आपको फ़ाइल नामों से मिलान करने के लिए एक regexp दर्ज करने देता है (यह केवल उन बफ़र्स में खोज करता है जो फ़ाइलों का दौरा कर रहे हैं); एक फ़ाइल पर जा रहे सभी बफ़र्स में खोज करने के लिए फ़ाइल regexp के रूप में दर्ज करें।multi-occur-in-matching-buffers
M-x multi-occur- TAB RET
multi-occur
multi-occur-in-matching-buffers
.
बफ़र्स या फ़ाइलों की सूची में वृद्धिशील खोज के लिए भी फ़ंक्शंस हैं, लेकिन वे थकाऊ हैं जैसे multi-occur
कि उन्हें बफ़र्स या फ़ाइलों को एक-एक करके सूचीबद्ध करने की आवश्यकता होती है।
किसी डायरेक्टरी की सभी फाइलों, या कुछ पैटर्न से मेल खाती फाइलों को खोजने के लिए, चाहे वे खुली हों या नहीं, आप उपयोग कर सकते हैं grep
। वहाँ वेरिएंट rgrep
और grep-find
खोज करने के लिए subdirectories पुनरावर्ती हैं।
दूसरों ने जो उल्लेख किया है, इसके अलावा - इसके लिए दो अन्य संसाधन हैं।
M-x multi-isearch-buffers
या M-x multi-isearch-buffers-regexp
(वेनिला Emacs) - कई बफ़र्स में वृद्धिशील खोज।
यदि आप Icicles का उपयोग करते हैं तो आप कई फ़ाइलों या बफ़र्स में खोज करने के लिए 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 में पैकेज को देखना चाहते हैं । यह इस कार्यक्षमता को प्रदान करता है और साथ ही परिणामों के त्वरित संपादन की अनुमति देता है।
swiper-all
Swiper पैकेज से ऐसा करने के लिए एक उपकरण प्रदान करता है। यह भी वृद्धिशील है, इसलिए यह लिखते ही अपडेट हो जाता है।
आप उन ibuffer
बफ़र्स को चिह्नित करने के लिए मोड का उपयोग कर सकते हैं जिन्हें आप खोजना चाहते हैं। पाठ की खोज के लिए कॉल करें ibuffer-do-isearch
( M-s a C-s
डिफ़ॉल्ट रूप से बाध्य ), या ibuffer-do-isearch-regexp
यदि आपको एक नियमित अभिव्यक्ति के लिए खोज करने की आवश्यकता है।
यदि आप परिचित नहीं हैं ibuffer
, तो इसे फायर करें और मार्क मेनू पर एक नज़र डालें, ताकि आप उन सभी तरीकों को देख सकें, जिन पर आप बफ़र सेट करना चुन सकते हैं।
यहाँ पतवार के साथ एक और तरीका है: M-x helm-mini M-a C-s blah
। आह्वान करने के बाद helm-mini
, M-a
सभी खुलने वाले बफ़रों को चिह्नित करेंगे , फिर C-s blah
चिह्नित बफ़र्स पर बहु घटित करेंगे।
इसके अलावा, हेल्म-मोड का उपयोग करने वाला एक समाधान है helm-swoop
।
उपयोग
M-x helm-swoop RET
फिर, सभी खुले बफ़र्स में खोजने के लिए, टाइप करें
M-i
फिर, बस blah
इसे सभी बफ़र्स में खोजने के लिए टाइप करें। एक अलग विंडो पर सभी घटनाओं को दिखाएगा।
वैकल्पिक रूप से, आप केवल टाइप कर सकते हैं
M-x helm-multi-swoop
फिर, उन सभी बफ़र्स को चिह्नित करें जिन्हें आप खोज करना चाहते हैं M-SPC
या C-SPC
, दबाएं RET
और खोजें blah
।
.
सभी फाइलों का मिलान करने के लिए नियमित अभिव्यक्ति है।