आप विम का उपयोग कर रहे हैं। आपको इसे बनाने के लिए एक टूल मिला है।
जाहिर है, वहाँ सात जवाब पहले से ही उपयोग करने के लिए कह रहे हैं grep
। लेकिन मैं इस तरह का एकमात्र व्यक्ति प्रतीत होता हूं जिसने अब तक आपके प्रश्न पर ध्यान दिया है जो आप उपयोग कर रहे हैं vim
। जैसे, यद्यपि आप भीतर से उपयोग कर सकते हैं , आप अंतर्निहित टूल का उपयोग भी कर सकते हैं । यह कमांड के माध्यम से लगाया जाता है । grep
vim
vim
:vimgrep
फ़ंक्शन के कॉल के लिए वर्तमान निर्देशिका में सभी सी स्रोत फ़ाइलों को खोजने के लिए toUpperCase()
"एक प्रकार का vim
कमांड
:vimgrep "\<toUpperCase\_s*(" *.c
मैचों की परिणामी सूची स्वचालित रूप से क्विकफ़िक्स सूची में लोड हो जाती है, दोनों में से किसी के साथ सुलभ (सूक्ष्म अंतर के लिए ऑन-लाइन मदद देखें)
:copen
:cwin
फ़ंक्शन की परिभाषा को खोजने के लिए , इसके बजाय कॉल करने के लिए, ctags
उपकरण है, जैसा कि Gilles
उत्तर में , :tjump
या :tselect
आदेशों के साथ संयोजन में वर्णित है ।
क्यों उपयोग करें :vimgrep
?
ऑन-लाइन मदद ( :help grep
) कई कारणों को बताती है, जो मैं यहां तोता नहीं करूंगा। इसके अलावा उन लोगों के लिए, की कार्रवाई की तुलना :vimgrep
के साथ dietbuddha
के जवाब । dietbuddha
कमांड लाइन grep
प्रत्येक व्यक्ति सी स्रोत फ़ाइल के लिए एक व्यक्तिगत प्रक्रिया की मांग करता है । यह xargs
उस ओवरहेड को कम करने के लिए भी काम नहीं करता है । और आपको अभी भी किसी भी तरह से अपने पाठ संपादक को प्रासंगिक स्रोत फ़ाइलों पर समाप्त करने के लिए आउटपुट को पार्स करना होगा, जब यह समाप्त हो जाए। :vimgrep
कई अतिरिक्त प्रक्रियाओं को बिल्कुल भी कांटा नहीं करता है, और परिणाम का उपयोग करना सरलता ही है। परिणामी क्विकफ़िक्स सूची में प्रविष्टियों में से किसी एक का चयन करना, स्वचालित रूप से संबंधित स्रोत फ़ाइल की प्रासंगिक पंक्ति पर कर्सर को स्थित करता है।
वास्तव में, यह वही करता है जो आपने लिखा था आप हाथ से करेंगे, स्वचालित रूप से छोड़कर। यह उन बहुत ही पाठ संपादक कार्यों को करने का स्वचालित तरीका है। यह फ़ाइल को ऐसे लोड करता है जैसे कि हाथ से लोड किया गया है, इसे एक नियमित अभिव्यक्ति के लिए खोजता है ( उसी नियमित अभिव्यक्ति सिंटैक्स का उपयोग करना जो आप पहले से कहीं और उपयोग कर रहे हैं vim
), उन स्थानों को रिकॉर्ड करता है जहां मैच होते हैं, और फिर फ़ाइल को अनलोड करता है।