আপনি ভিএম ব্যবহার করছেন। এটি অন্তর্নির্মিত করার জন্য আপনার কাছে একটি সরঞ্জাম পেয়েছে।
অনুমানযোগ্যভাবে, ইতিমধ্যে ব্যবহারের জন্য বলছে এমন সাতটি উত্তর রয়েছে grep। তবে আমি এখনও একমাত্র ব্যক্তি বলে মনে করি যিনি আপনার ব্যবহার থেকে আপনার প্রশ্নটি লক্ষ্য করেছেন vim। যেমন, যদিও আপনি করতে পারেন ব্যবহার grepভিতর থেকে vim, আপনি পারেন এছাড়াও ব্যবহার vimএর টুল বিল্ট-ইন। এটি :vimgrepকমান্ডের মাধ্যমে আহবান করা হয়েছে ।
"ফাংশনটিতে কল করার জন্য বর্তমান ডিরেক্টরিতে সমস্ত সি উত্সের ফাইল অনুসন্ধান করতে toUpperCase()" এক vimকমান্ডটি টাইপ করে
:vimgrep "\<toUpperCase\_s*(" *.c
মিলগুলির ফলাফলগুলি স্বয়ংক্রিয়ভাবে কুইকফিক্স তালিকায় লোড হয়ে যায়, উভয়ের সাথে অ্যাক্সেসযোগ্য (সূক্ষ্ম পার্থক্যের জন্য অন-লাইন সহায়তা দেখুন)
:copen
:cwin
ফাংশন সংজ্ঞাটি অনুসন্ধান করার চেয়ে এটির পরিবর্তে সন্ধান করা ctagsহ'ল হাতিয়ারটি, যেমন Gillesউত্তর:tjump বা উত্তর হিসাবে উল্লিখিত হিসাবে বা :tselectকমান্ডের সাথে মিলিত ।
কেন ব্যবহার করবেন :vimgrep?
অন-লাইন সহায়তা ( :help grep) বেশ কয়েকটি কারণে অঙ্কিত করে, যা আমি এখানে তোতা দেব না। এগুলি ছাড়াও, এর উত্তরের:vimgrep সাথে ক্রিয়াটি তুলনা করুন । কমান্ড লাইন প্রতিটি পৃথক সি উত্স ফাইলের জন্য পৃথক প্রক্রিয়া জোর করে । এমনকি এটি ওভারহেড কমাতে নিয়োগ দেয় না । এবং আপনার পাঠ্য সম্পাদককে প্রাপ্য উত্স ফাইলগুলিতে এটি শেষ হয়ে যাওয়ার পরে আউটপুটটি কোনওভাবেই পার্স করতে হবে। একাধিক অতিরিক্ত প্রক্রিয়া মোটেও কাঁটাচামচ করে না এবং ফলাফলটি ব্যবহার করা সরলতা is ফলস্বরূপ কুইকফিক্স তালিকার মধ্যে কেবল একটি প্রবেশিকা নির্বাচন করে স্বয়ংক্রিয়ভাবে কার্সারটি সম্পর্কিত উত্স ফাইলের প্রাসঙ্গিক লাইনে অবস্থান করে। dietbuddhadietbuddhagrepxargs:vimgrep
আসলে, এটি স্বয়ংক্রিয়ভাবে বাদে আপনি যা লিখেছিলেন তা হুবহু করে। এই খুব টেক্সট সম্পাদক ক্রিয়াকলাপ করার এটি স্বয়ংক্রিয় পদ্ধতি। এটি ফাইলটি লোড করে যেন হাতে হাতে লোড করে, এটি নিয়মিত এক্সপ্রেশনের জন্য অনুসন্ধান করে ( একই ধরণের নিয়মিত এক্সপ্রেশন সিনট্যাক্স যা আপনি ইতিমধ্যে অন্য কোথাও ব্যবহার করছেন vim), যেখানে ম্যাচগুলি ঘটে সেখানে রেকর্ড করে এবং ফাইলটি আনলোড করে।