কীভাবে চূড়ান্তভাবে একটি হাইটলাইট স্ট্রিং পরিবর্তন করতে?


11

অনুসন্ধান করে, আমি যে স্ট্রিংটি পরিবর্তন করতে চাই তা হাইলাইট করেছি। এখন আমি কেবল হাইলাইট করা পাঠ্যটি প্রতিস্থাপন করতে চাই। আমি nঅনুসন্ধানের স্ট্রিংয়ের পরবর্তী উদাহরণে যেতে ব্যবহার করছি । আমি ভাবছিলাম আমি এর মতো কিছু করতে পারি ciwতবে এটি পুরো শব্দটিকে কেবল হাইলাইট করা পাঠ্যকেই বদলে দেয়।

আমি এর সাথে পরিচিত :%s/old/new/gকিন্তু আমি সমস্ত দৃষ্টান্ত পরিবর্তন করতে চাই না। পরিবর্তে, আমি প্রতিটি বারে আমার কার্সারটি অগ্রসর করতে চাই এবং তারপরে এটি পরিবর্তন করতে হবে কিনা তা স্থির করতে চাই।

উত্তর:


16

gnবর্তমান অনুসন্ধান মিলটি সম্পাদনা করতে গতিটি ব্যবহার করুন । নিম্নলিখিত উদাহরণটি বর্তমান ম্যাচটিকে "FooBar" এ পরিবর্তন করবে:

cgnFooBar

এই কৌশলটি সম্পর্কে দুর্দান্ত অংশটি হ'ল আপনি তার মাধ্যমে পরিবর্তনটি পুনরাবৃত্তি করতে পারেন .। পরবর্তী ম্যাচটি ধরে নিয়ে যাওয়া একইভাবে পরিবর্তন করা হবে আপনি কেবল .পুনরাবৃত্তি করতে ব্যবহার করতে পারেন । অথবা এর মাধ্যমে কয়েকটি ম্যাচ এড়িয়ে যান nএবং তারপরে ব্যবহার করুন .

এই বিষয়ে ভিমকাস্টগুলির একটি দুর্দান্ত পর্ব রয়েছে: জিএন ব্যবহার করে অনুসন্ধানের ম্যাচগুলিতে পরিচালনা করা

আরও সহায়তার জন্য দেখুন:

:h gn

আপনার বিভিন্ন জায়গায় প্রতিস্থাপনের বিভিন্ন স্ট্রিং ব্যবহার করার সময় অবশ্যই এটি যাওয়ার উপায়। ভিজ্যুয়াল মোডের সংক্ষিপ্তসারগুলি সম্পর্কে আমি নিশ্চিত নই যা দেখে মনে হচ্ছে gn, তাই এখানে একটি সাদৃশ্য পদ্ধতি যা আমি সন্ধান করেছি:c//e<CR>FooBar<Esc>//<CR>
জেফ

সমস্ত নির্বাচন / ম্যাচ একবারে পরিবর্তন করার কোনও উপায় আছে কি? মূলত, চুল্লী?
জেরেমিয়া

@ জেরেমিয়া, হ্যাঁ, :%s/oldtext/newstuff/gএর oldtextসাথে সমস্ত মিল পরিবর্তন করবে newstuff
zundarz

@ জুন্ডারজ আমি একটি রেজিপেক্স করতে চাই না, তবে কেবলমাত্র পরিবর্তনশীল নামগুলি প্রতিস্থাপন করতে চাই। .একাধিকবার আঘাত করার পরিবর্তে , আমি :%norm .( উত্স ) ব্যবহার করতে পারি ।
জেরেমিয়া

7

আপনি যদি ইতিমধ্যে /wordবা এর সাথে একটি শব্দ অনুসন্ধান করেছেন ?word

আপনি অনুসন্ধান শব্দটি ( ) খালি রেখে, :%s//newword/gcআপনি আগে যে শব্দটি অনুসন্ধান করেছিলেন তার প্রতিস্থাপন করতে ব্যবহার করতে পারেন ।newwords//..

cপতাকা বলছেন যে প্রতিটি পরিবর্তন নিশ্চিত করা উচিত টিপে yহ্যাঁ জন্য অথবা nকোন জন্য।

কটাক্ষপাত :help :s_flagsনিশ্চিত পতাকা আরো তথ্যের জন্য।


1
আমি কি আপনাকে সাহায্য তাকান বললেন জানি, কিন্তু আপনি ভাল হিসাবে স্পষ্টভাবে আপনি টিপতে পারেন উল্লেখ পারে l, aএবং q(অথবা <Esc>নিশ্চিতকরণ চক্র আপ মোড়ানো বিভিন্ন উপায়ে জন্য)।
জেফ

2

পদ্ধতি # 1

আপনি যা চান তা পূরণ করতে আপনি gnএবং gNম্যাপিংয়ের সুবিধা নিতে পারেন। gnসর্বশেষ ব্যবহৃত অনুসন্ধান শব্দটির জন্য অনুসন্ধান করবে এবং ম্যাচটি দৃশ্যত নির্বাচন করবে। gNঠিক পিছনে পিছনে অনুসন্ধান ব্যতীত একই জিনিসটি করে। যখন কোনও অপারেটরের সাথে মিলিত হওয়ার পরে c, অপারেটরটি ম্যাচটিতে প্রয়োগ করা হবে, উদাহরণস্বরূপ, যদি আপনার শেষ অনুসন্ধানের স্ট্রিংটি "foo" হয় এবং আপনি টাইপ করেন তবে cgnএটি "foo" এর পরবর্তী উদাহরণের জন্য অগ্রণী অনুসন্ধান করবে, এটি মুছুন, এবং প্রতিস্থাপন পাঠ্য প্রবেশ করতে আপনাকে সন্নিবেশ মোডে রাখে।

এগুলি সম্পর্কে আরও তথ্যের জন্য, দেখুন :help gnএবং :help gN

পদ্ধতি # 2

আপনি পতাকা :substituteসহ কমান্ডটি ব্যবহার করতে পারেন c। এটি আপনাকে প্রতিটি প্রতিস্থাপনের বিষয়টি নিশ্চিত করতে বলবে। উদাহরণস্বরূপ, বলুন আপনি পুরো ফাইলটিতে বার দিয়ে foo প্রতিস্থাপন করতে চেয়েছিলেন, তবে প্রতিটি প্রতিস্থাপনের বিষয়টি নিশ্চিত করতে চেয়েছিলেন:

:%s/foo/bar/gc

এই সম্পর্কে আরো জানার জন্য, এই সাহায্যের বিষয় দেখুন: :help :s_flags, :help cmdline-ranges, এবং :help :substitute

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.