এই কাজ করার বিভিন্ন উপায় আছে।
ভিতরে বর্তমান ডিরেক্টরি
আপনি যদি কোনও প্রকল্প ট্রিতে অনুসন্ধান / প্রতিস্থাপন করতে চান তবে আপনি ভিমের যুক্তি তালিকাটি ব্যবহার করতে পারেন ।
কেবলমাত্র Vim খুলুন এবং তারপরে :args
আর্গুমেন্টের তালিকাটি জনপ্রিয় করতে কমান্ডটি ব্যবহার করুন । আপনি একাধিক ফাইলের নাম বা এমনকি গ্লোবগুলিতে পাস করতে পারেন।
উদাহরণস্বরূপ, :args **/*.rb
রুবি ফাইলগুলির জন্য বর্তমান ডিরেক্টরিটি পুনরাবৃত্তভাবে অনুসন্ধান করবে। লক্ষ্য করুন যে এটি ভিমের সাথে খোলার মতো vim **/*.rb
। আপনি find
চালিয়ে চালিয়ে বর্তমান ডিরেক্টরিতে সমস্ত ফাইলের একটি তালিকা পেতে শেল কমান্ডটি ব্যবহার করতে পারেন :
:args `find . -type f`
আপনি :args
নিজেই চালিয়ে বর্তমান আরগস তালিকাটি দেখতে পারেন । আপনি যদি তালিকা থেকে ফাইলগুলি যুক্ত বা মুছতে চান তবে আপনি যথাক্রমে কমান্ডগুলি :argadd
বা :argdelete
কমান্ডগুলি ব্যবহার করতে পারেন ।
একবার আপনি তালিকায় খুশি হয়ে গেলে এখন আপনি ভিমের শক্তিশালী :argdo
কমান্ড ব্যবহার করতে পারেন যা আর্গুমেন্ট তালিকার প্রতিটি ফাইলের জন্য একটি কমান্ড চালায়::argdo %s/search/replace/g
এখানে অনুসন্ধানের জন্য কিছু টিপস (কয়েকটি মন্তব্যের ভিত্তিতে):
- আপনি যদি "foo" অনুসন্ধান করতে চান তবে "foo_bar" না চাইলে একটি শব্দ সীমা ব্যবহার করুন। সন্ধানী প্যাটার্নের আশেপাশে যেমন
\<
এবং নির্মাণগুলি ব্যবহার করুন \>
::argdo %s/\<search\>/foobar/g
/c
আপনি যদি অনুসন্ধানের শব্দটি প্রতিস্থাপনের আগে ভিমকে নিশ্চিতকরণের জন্য জিজ্ঞাসা করতে চান তবে একটি অনুসন্ধান পতাকা ব্যবহার করুন ।
/e
আপনি যদি "প্যাটার্নটি খুঁজে পাইনি" ত্রুটিগুলি এড়িয়ে যেতে চান তবে একটি অনুসন্ধান পতাকা ব্যবহার করুন ।
- এছাড়াও আপনি অনুসন্ধান সম্পাদন পরে ফাইল সংরক্ষণ করার জন্য চয়ন করতে পারেন:
:argdo %s/search/replace/g | update
। এখানে, :update
ব্যবহৃত হয় কারণ এটি কেবল যদি ফাইলটি পরিবর্তন করে তবে এটি সংরক্ষণ করবে।
ওপেন বাফার
আপনার যদি ইতিমধ্যে বাফার খোলা থাকে আপনি সন্ধান করতে / প্রতিস্থাপন করতে চান, আপনি ব্যবহার করতে পারেন :bufdo
, যা আপনার বাফার তালিকার প্রতিটি ফাইলে ( :ls
) তালিকা চালায় ।
কমান্ডটি খুব অনুরূপ :argdo
: :bufdo %s/search/replace/g
অনুরূপ :argdo
এবং উইন্ডো এবং ট্যাবগুলিতে যথাক্রমে :bufdo
রয়েছে :windo
এবং :tabdo
এটি কাজ করে। সেগুলি প্রায়শই ব্যবহৃত হয় তবে এটি এখনও দরকারী।
/c
বিকল্পগুলি নিশ্চিত করার জন্য পতাকাটি ব্যবহার করা সম্ভবত একটি ভাল ধারণা হতে পারে ।