ভিম অনুসন্ধান এবং প্রতিস্থাপন

Vim Search Replace



ভিম হল একটি উন্নত এবং জনপ্রিয় টেক্সট এডিটর যা লিনাক্সের বেশিরভাগ ডিস্ট্রিবিউশনে প্রি -ইন্সটল করা থাকে। এটি একটি কমান্ড-লাইন ভিত্তিক পাঠ্য সম্পাদক যা বেশিরভাগই নন-জিইউআই ভিত্তিক অপারেটিং সিস্টেমে ব্যবহৃত হয়। এটি অত্যন্ত কনফিগারযোগ্য এবং অনেক বৈশিষ্ট্য সহ আসে। ভিম সম্পর্কিত একটি গুরুত্বপূর্ণ বিষয় হল এটি পুনরাবৃত্তির জন্য অত্যন্ত অনুকূল।

এই নিবন্ধে, আমরা এর সবচেয়ে দরকারী বৈশিষ্ট্যগুলির একটি ব্যাখ্যা করব যা অনুসন্ধান এবং প্রতিস্থাপন। মুষ্টিমেয় কনফিগারেশনের সাথে, আপনি জ্বলজ্বলে গতিতে এবং সূক্ষ্ম গ্রানুলারিটি সহ আপনার যা ইচ্ছা তা অনুসন্ধান করতে পারেন।







পদ্ধতি #1 একবারে একটি ঘটনা খুঁজুন এবং প্রতিস্থাপন করুন (স্ল্যাশ এবং ডট কমান্ড ব্যবহার করে)

সিম এবং ডট কমান্ড ব্যবহার করে ভিমের একটি শব্দ অনুসন্ধান এবং প্রতিস্থাপন করার সহজ উপায়। স্ল্যাশ (/) একটি শব্দ অনুসন্ধান করতে ব্যবহার করা যেতে পারে যখন ডট (।) শব্দটি প্রতিস্থাপনের জন্য ব্যবহার করা যেতে পারে।



ভিম এডিটরে যে কোন শব্দ অনুসন্ধান এবং প্রতিস্থাপন করতে নিচের সহজ ধাপগুলি অনুসরণ করুন:



  • ভিমে ফাইলটি খুলুন
  • / Search_term মত সার্চ শব্দটির সাথে স্ল্যাশ ( /) কী টিপুন এবং এন্টার টিপুন। এটি নির্বাচিত শব্দটি হাইলাইট করবে।
  • তারপর কীস্ট্রোক চাপুন cgn হাইলাইট করা শব্দটি প্রতিস্থাপন করতে এবং প্রতিস্থাপন_কাল লিখুন
  • স্বাভাবিক মোডে ফিরে যান। পরবর্তী, অনুসন্ধান শব্দটির পরবর্তী ঘটনার দিকে যেতে n চাপুন।
  • তারপরে ডট (।) টিপুন যদি আপনি পরবর্তী প্রতিস্থাপনকে একই রিপ্লেস_টার্ম দিয়ে প্রতিস্থাপন করতে চান অন্যথায় আবার পরবর্তী ঘটনার দিকে যেতে এন কী টিপুন।

এটি মৌলিক অনুসন্ধানের জন্য দ্রুততম এবং সর্বোত্তম পদ্ধতি এবং ফাংশনগুলি প্রতিস্থাপন করে কারণ এতে কেবল কয়েকটি কীস্ট্রোক এবং আপনার বর্তমান কাজে কম ব্যাঘাত ঘটে। যাইহোক, এমন একটি শব্দ অনুসন্ধানের জন্য যা অনেকবার ঘটে, এটি একটি পুনরাবৃত্তিমূলক এবং সময়সাপেক্ষ কাজ হয়ে উঠবে।





ভিমের সাথে, এই পুনরাবৃত্তিমূলক কাজটি এড়ানোর আরও একটি ভাল উপায় রয়েছে যা বিকল্প কমান্ড ব্যবহার করছে।

পদ্ধতি #2 বিকল্প কমান্ড ব্যবহার করে খুঁজুন এবং প্রতিস্থাপন করুন

বিকল্প কমান্ডটি মৌলিক থেকে উন্নত অনুসন্ধান এবং একটি একক কমান্ড দিয়ে ফাংশন প্রতিস্থাপন করতে ব্যবহার করা যেতে পারে। এই কমান্ডের জন্য সিনট্যাক্স হল:



$: গুলি/<অনুসন্ধানের শর্ত> /<প্রতিস্থাপন_কাল> /বিকল্প

মনে রাখবেন যে আপনাকে এই মোডটি সাধারণ মোডে প্রবেশ করতে হবে।

কোথায়

  • এস: বিকল্পের জন্য দাঁড়িয়েছে
  • search_term: যে শব্দটি আপনি অনুসন্ধান এবং প্রতিস্থাপন করতে চান
  • প্রতিস্থাপন_কাল: যে শব্দটি দিয়ে আপনি এটি প্রতিস্থাপন করতে চান
  • বিকল্প: c (নিশ্চিতকরণের জন্য), g (সব ঘটনা এক লাইনে প্রতিস্থাপন করুন), i (কেস উপেক্ষা করার জন্য)

অনুসন্ধান করুন এবং প্রতিস্থাপন করুন

মৌলিক অনুসন্ধান করতে এবং বিকল্প কমান্ড ব্যবহার করে প্রতিস্থাপন করতে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

:%গুলি/<অনুসন্ধানের শর্ত> /<প্রতিস্থাপন_কাল> /

এই কমান্ডটি search_term- এর সমস্ত দৃষ্টান্ত প্রতিস্থাপন_টার্ম দিয়ে প্রতিস্থাপন করবে।

উদাহরণস্বরূপ, এটি আমাদের নমুনা পাঠ্য:

উবুন্টু সবচেয়ে বেশি ব্যবহৃত লিনাক্স অপারেটিং সিস্টেমগুলির মধ্যে একটি। উবুন্টুতে হাজার হাজার দরকারী প্রোগ্রাম অন্তর্ভুক্ত রয়েছে। উবুন্টু কমান্ড-লাইনের সাহায্যে আপনি প্রায় যেকোনো ধরনের কাজ সম্পন্ন করতে পারেন।

উবুন্টুর প্রতিটি ঘটনাকে ডেবিয়ানের সাথে নিম্নলিখিত পাঠ্যে প্রতিস্থাপন করার জন্য, নিম্নলিখিত কমান্ডটি ব্যবহার করা হবে:

:%গুলি/উবুন্টু/ডেবিয়ান/

একক লাইনে অনুসন্ধান করুন এবং প্রতিস্থাপন করুন

সার্বিক ফাইলের পরিবর্তে শুধুমাত্র একটি লাইনে একটি শব্দের উপস্থিতি অনুসন্ধান এবং প্রতিস্থাপন করতে, নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:

: গুলি/<অনুসন্ধানের শর্ত> /প্রতিস্থাপন_কাল/

উদাহরণস্বরূপ, উপরের নমুনা পাঠ্যে উবুন্টুর ঘটনার ডেবিয়ানের সাথে প্রতিস্থাপন করার জন্য, % চিহ্ন ছাড়া নিম্নলিখিত কমান্ডটি ব্যবহার করা হবে:

: গুলি/উবুন্টু/ডেবিয়ান/

নিশ্চিতকরণ দিয়ে অনুসন্ধান করুন এবং প্রতিস্থাপন করুন

যদি আপনি অনুসন্ধান শব্দটি প্রতিস্থাপন করার আগে নিশ্চিতকরণের জন্য জিজ্ঞাসা করতে চান, তাহলে অনুসন্ধান কমান্ডের শেষে c ব্যবহার করুন:

: গুলি/<অনুসন্ধানের শর্ত> /<প্রতিস্থাপন_কাল> /জিসি

উপরের কমান্ড প্রতিটি প্রতিস্থাপনের আগে নিশ্চিতকরণের জন্য জিজ্ঞাসা করবে (হ্যাঁ এর জন্য y লিখুন যখন n না জন্য)।

কেস সংবেদনশীল অনুসন্ধান এবং প্রতিস্থাপন

যখন আপনি অনুসন্ধান করেন এবং ভিমে প্রতিস্থাপন করেন, ডিফল্টরূপে এটি কেস সংবেদনশীল। নিম্নরূপ কমান্ডের শেষে i যোগ করে আপনি একটি কেস সংবেদনশীল অনুসন্ধান করতে পারেন:

: গুলি/<অনুসন্ধানের শর্ত> /<প্রতিস্থাপন_কাল> /দাও

উদাহরণস্বরূপ, উবুন্টু শব্দটি অনুসন্ধান করার জন্য তার ক্ষেত্রে (UBUNTU, Ubuntu, ubuntu, uBuntu) নির্বিশেষে, নিম্নলিখিত কমান্ডটি ব্যবহার করা হবে:

: গুলি/উবুন্টু/ডেবিয়ান/দাও

সার্চ করে পুরো শব্দটি প্রতিস্থাপন করুন

ডিফল্টরূপে যেকোনো মিলের জন্য বিকল্প কমান্ড সার্চ করুন সেটা আংশিক বা পূর্ণ। সঠিক search_term এর সাথে মেলে এবং তারপরে প্রতিস্থাপন_টার্ম দিয়ে প্রতিস্থাপন করুন, অনুসন্ধানের মধ্যে _term বন্ধ করুন।

উদাহরণস্বরূপ, কিছু নথিতে, আপনি আমার দ্বারা সঠিক শব্দটি অনুসন্ধান এবং প্রতিস্থাপন করতে চান। সেই ক্ষেত্রে, নিম্নলিখিত কমান্ডটি ব্যবহার করা হবে:

: গুলি/<আপনি> /আমি/

এটি আপনার শব্দটি খুঁজে পাবে এবং এটি আমার সাথে প্রতিস্থাপন করবে। যাইহোক, এটি আপনার মত শব্দ প্রতিস্থাপন করবে না।

অনুসন্ধান করুন এবং নির্দিষ্ট লাইন মধ্যে শব্দ প্রতিস্থাপন

শুধুমাত্র একটি লাইন বা পুরো ফাইলের পরিবর্তে নির্দিষ্ট লাইনগুলির মধ্যে একটি শব্দ অনুসন্ধান করার জন্য, নিম্নলিখিত সিনট্যাক্স ব্যবহার করা যেতে পারে:

:<start_line>,<end_line>গুলি/<অনুসন্ধানের শর্ত> /<প্রতিস্থাপন_কাল> /

উদাহরণস্বরূপ, কিছু ফাইলে 3 থেকে 8 পর্যন্ত লাইন থেকে ডেবিয়ানের সাথে উবুন্টুর ঘটনার অনুসন্ধান এবং প্রতিস্থাপন করার জন্য, কমান্ডটি হবে:

:, 10 সে/উবুন্টু/ডেবিয়ান/

বর্তমান লাইন থেকে পরবর্তী x সংখ্যার লাইনে একটি শব্দের উপস্থিতি অনুসন্ধান এবং প্রতিস্থাপন করতে, নিম্নলিখিত বাক্য গঠন ব্যবহার করা হবে:

: গুলি/অনুসন্ধানের শর্ত/প্রতিস্থাপন_কাল/g x

একইভাবে, বর্তমান লাইন থেকে শেষ লাইনে একটি শব্দের উপস্থিতি অনুসন্ধান এবং প্রতিস্থাপন করতে: নিম্নলিখিত বাক্য ব্যবহার করা হবে:

:।,$ s/অনুসন্ধানের শর্ত/প্রতিস্থাপন_কাল/

উপসংহার

এই প্রবন্ধে, আমরা একটি ভিম এডিটরে যেকোনো শব্দ অনুসন্ধান এবং প্রতিস্থাপনের দুটি কমান্ড-লাইন উপায় শিখেছি। প্রথম কমান্ড যা স্ল্যাশ এবং বিন্দু ব্যবহার করছিল তা হল সবচেয়ে সহজ এবং সহজ পদ্ধতি কিন্তু যখন আপনি অনেকবার ঘটে যাওয়া শব্দটি অনুসন্ধান এবং প্রতিস্থাপন করছেন তখন এটি পুনরাবৃত্তিমূলক হবে। অন্য কমান্ড যা প্রতিস্থাপন কমান্ড একবার কঠিন এবং জটিল মনে হতে পারে, কিন্তু একবার আপনি এটি অনুশীলন শুরু করলে, আপনি এটি একাধিক পরিস্থিতিতে অত্যন্ত দরকারী পাবেন।