आप अपने प्रोजेक्ट की सभी फाइलों को खोजने के लिए विम के grep कमांड का उपयोग कर सकते हैं :
:grep! "\<<cword>\>" . -r
:copen
आइए डालते हैं कि कीबाइंड में:
nnoremap <F4> :grep! "\<<cword>\>" . -r<CR>:copen<CR>
जब मैं एक बड़े अपरिचित कोडबेस की खोज कर रहा हूं तो मुझे यह एक महत्वपूर्ण प्रोजेक्ट-व्यापी खोज अमूल्य लगती है।
\<
और \>
regexp क्रम हैं जो एक शब्द की शुरुआत और अंत का संकेत देते हैं, इसलिए आपको आंशिक मैच नहीं मिलेंगे। ( -w
Grep का विकल्प इसे प्राप्त करने का एक और तरीका हो सकता है।)
हालाँकि, यह एक अनजाने में खोज है , इसलिए यदि यह शब्द असंबंधित संदर्भों में दिखाई देता है तो यह झूठी सकारात्मकता उत्पन्न कर सकता है।
सच में, मैं grep.vim प्लगइन के बजाय अपने स्वयं के संशोधित संस्करण का उपयोग करता हूं । यह उपयोग करने के लिए थोड़ा मित्रवत है:
- यह आपको खोज पैटर्न, और grep कमांडलाइन को संपादित करने देता है (ताकि आप
src/ lib/
इसके बजाय विशिष्ट फ़ोल्डरों को लक्षित कर सकें .
) और परिवर्तनों को याद रखें।
- मैंने Google के csearch के लिए समर्थन जोड़ा । यह grep की तुलना में बहुत तेज़ हो सकता है क्योंकि यह हर बार प्रत्येक फ़ाइल को स्कैन करने के बजाय शब्दों का एक सूचकांक बनाता है। विशेष रूप से, csearch थोड़ा अलग रेक्सएक्सपी मानक का उपयोग करता है, इसलिए और के
\b
बजाय इसका उपयोग किया जाना चाहिए ।\<
\>
मैं इसे कॉन्फ़िगर करता हूं और इस तरह की कुछ मानक फाइलों को बाहर करता हूं ।
तेजी से पहुंच के लिए, मैं दो कीबाइंड बनाता हूं । F3मुझे कमांडलाइन संपादित करने देता है, F4बिना किसी अतिरिक्त कीस्ट्रोक्स के पहले से कॉन्फ़िगर कमांडलाइन का उपयोग करता है। तंत्र बहुत बदसूरत है, और कुछ सफाई का उपयोग कर सकता है, लेकिन इसने मुझे अच्छी तरह से सेवा दी है।