খুব সহজেই, আমি মাঝে মাঝে একটি লাইনে ম্যাচের প্রথম কয়েকটি ঘটনাকে প্রতিস্থাপন করার সুযোগ পাই তবে প্রত্যেকে পছন্দ করে না g
। উদাহরণ:
a a a a a
প্রতি
b b b a a
আমি জানি আমি ব্যবহার করতে পারি :s/a/b/[enter]:[up][enter]:[up][enter]
, তবে এটি তিনটি পুনরাবৃত্তিতে যথেষ্ট ক্লান্তিকর, আমার সম্ভাব্য 10+ বিকল্পের সাথে লাইন রয়েছে।
আমি চেষ্টা করেছিলাম:
:s/a/b/3g
: ভিম অনুশীলনের চরিত্রগুলির অভিযোগ করেছে।:s/a/b/3
: এটি এবং নিম্নলিখিত দুটি লাইনে প্রথম উপস্থিতি পরিবর্তন করে।3:s/a/b
: আগের মত:s/a/b/g3
: এটি এবং পরবর্তী দুটি লাইনে সমস্ত উপস্থিতি পরিবর্তন করে।:3s/a/b
: লাইন 3 এ প্রথম ঘটনাটি পরিবর্তন করে।:/a/,3/a/s/a/b
: ফাইলটিতে থাকা পরবর্তীa
এবং তৃতীয় লাইনের মধ্যে প্রতিটি লাইনের প্রথম উপস্থিতি পরিবর্তন করেa
(প্রয়োজনীয় হলে বিপরীতে প্ররোচিত)।:/a/,/\([^a]*a\)\{3\}/s/a/b/
: প্রতিটি লাইনটির মধ্যে প্রথমটি উপস্থিতি পরিবর্তিতa
করে এটির পরবর্তী লাইনটিতে 3 টি দিয়ে (এবং এটি কোনও বহু-চরিত্রের অনুসন্ধানে সহজেই বর্ধিত হত না)।
এবং অন্যান্য বিভিন্ন সম্বোধনের ধরণ, যার কোনওটিই কাজ করে না। আমার অবশ্যই বলতে হবে, আমি :s
কমান্ড সম্পর্কে ন্যায্য পরিমাণ শিখেছি এই সমস্যার উত্তর খুঁজে পেতে চেষ্টা করেছি, কিন্তু আমি এখনও এটি সমাধান করতে পারি নি।
কেউ কি করতে পারে জানেন?
(নির্দিষ্ট পরিসরের জন্য বোনাস পয়েন্ট, যেমন চতুর্থ ঘটনার মধ্য দিয়ে দ্বিতীয়)
n
এবং .
যদিও আমি সেগুলি এখানে ব্যবহার করার কথা ভাবিনি। অবশ্যই একটি উন্নতি, ধন্যবাদ।
s/a/=something/
কৌশলটি করা উচিত ( :help sub-replace-=
)। আমি something
ব্যাটে ডানদিকে লিখতে যথেষ্ট সাবলীল নই ।
:[up][enter]
সাথে প্রতিস্থাপন করা যেতে পারে &
, যা এখনও আদর্শ নয় তবে অন্তত কম বেদনাদায়ক is