पहला उत्तर सुंदर है, लेकिन यह Emacs के आधुनिक संस्करणों के बारे में कुछ महत्वपूर्ण विवरणों को छोड़ देता है। मुझे खुद Emacs के बारे में पता है, इसलिए अन्य नए लोगों को इसके बारे में जानकारी नहीं हो सकती है। अपने लक्ष्य को देखते हुए एक परियोजना में एक फ़ाइल के बिना पाठ की खोज करना है, तो आप सबसे पहले MELPA भंडार का उपयोग करके प्रोजेक्टाइल स्थापित करेंगे।
यह .emacs.d में पैकेज को स्थापित करता है और आपके $ USER निर्देशिका में (.emacs फ़ाइल को बनाया है) यह मानकर आपके एमएसीएस इंस्टाल में प्रोजेक्टाइल की आवश्यकता होती है।
हालांकि, आपको अभी भी इसे सक्षम करने और कीमैप उपसर्गों को संबद्ध करने की आवश्यकता है, इसलिए आप इसे मिनी बफर में आमंत्रित कर सकते हैं।
स्वीकृत उत्तर में निम्न आदेश का उल्लेख है:
C-c p s g
यह तब तक काम नहीं करेगा, जब तक कि आप इस कीमैप उपसर्ग के साथ प्रोजेक्टाइल को कॉन्फ़िगर नहीं करते हैं। लेकिन मैंने इसे प्रोजेक्ट .emacs में कमांड के रूप में Cc Cp का उपयोग करने के लिए कॉन्फ़िगर किया है:
(projectile-mode +1)
(define-key projectile-mode-map (kbd "C-c C-p") 'projectile-command-map)
अब इसे देखते हुए, मैं grep का उपयोग करके किसी प्रोजेक्ट में फ़ाइलों में पाठ खोज करने में सक्षम हूं:
C-c C-p f # switch to a project first
C-c C-p s g # perform grep search in project
इसे तोड़ने के लिए, C-c C-p
प्रक्षेप्य को आमंत्रित करेगा, और s g
grep खोज का प्रदर्शन करेगा। आपको इस तरह एक सुंदर आउटपुट मिलेगा, यह मानकर कि आपकी खोज है visit_contact
और आप किसी प्रोजेक्ट में रूबी की खोज कर रहे हैं:
./spec/support/capybara_classification_code_helper.rb:21: def visit_contact
./spec/features/admin_edits_classification_code_role_dynamic_field_spec.rb:8: visit_contact
./spec/features/admin_edits_classification_code_role_dynamic_field_spec.rb:33: visit_contact
./spec/features/user_views_global_filters_from_line_item_spec.rb:9: visit_contact
rgrep
में थोड़ा भ्रमित है, यह देखते हुए कि यह डिफ़ॉल्ट रूप से आपकी "बेकार फाइलों" मानदंडों से मेल खाती सभी फ़ाइलों को बाहर करता है।