ভিআইএম-এ কীভাবে একজন ব্যাকস্ল্যাশ এবং ফরোয়ার্ড স্ল্যাশগুলি খুঁজে পায় / সন্ধান করে?


98

উদাহরণস্বরূপ, আমি যদি পিছনের বা ফরোয়ার্ড স্ল্যাশযুক্ত স্ট্রিংগুলি সন্ধান করতে এবং প্রতিস্থাপন করতে চাই, তবে কীভাবে এটি ভিএম এ সম্পন্ন হবে? ধন্যবাদ!

অনুসন্ধানগুলি এবং প্রতিস্থাপনের উদাহরণগুলি হ'ল: :%s/foo/bar/g

আমি যদি সমস্ত ঘটনাগুলি খুঁজে পেতে <dog/>এবং এর সাথে প্রতিস্থাপন করতে চাইতাম তবে কী হবে<cat\>


4
কঠোরভাবে কোনও উত্তর নয়, তবে আপনার সম্ভবত পড়া উচিত: যাদু সহায়তা করুন
টম মরিস

+1 টম, সাধারণত তুচ্ছ রেজেক্সের সাথে কাজ করার সময় সর্বাধিক বুদ্ধিমান সমাধান।
র্যান্ডি মরিস

@ টম @ র্যান্ডি তবে ... vi --helpআমার সার্ভারে বিশেষ অক্ষরগুলি থেকে বাঁচার ব্যাখ্যা সরবরাহ করা হচ্ছে না ... এজন্য লোকেরা শুরু করার জন্য
স্ট্যাকওভারফ্লোতে আসে

@aequalsb :help magicএমন একটি জিনিস যা আপনি ভিমের ভিতরে টাইপ করেন । এটি কোনও কমান্ড-লাইনের যুক্তি নয় im
ডাবলডাউন

উত্তর:


153

একইভাবে আপনি লিনাক্সি প্রোগ্রামগুলিতে ব্যাকস্ল্যাশ সহ অন্য কোথাও অক্ষরগুলি এড়িয়ে চলেছেন:

:%s/<dog\/>/<cat\\>

তবে মনে রাখবেন যে আপনি পরিবর্তে একটি ভিন্ন সীমানা নির্বাচন করতে পারেন:

:%s@<doc/>@<cat\\>@

এটি আপনাকে সমস্ত সময় সাশ্রয়ী টাইপ করে, এক টন স্ল্যাশের সাথে নিদর্শনগুলিতে বিভ্রান্তিকর ব্যাকস্ল্যাশগুলি সংরক্ষণ করে।

ডকুমেন্টেশন থেকে :

বদলে /যা প্যাটার্ন এবং প্রতিস্থাপন স্ট্রিং ঘিরে যদি অন্য কোন একক বাইট অক্ষর, কিন্তু না একটি আলফানিউমেরিক অক্ষর, ব্যবহার করতে পারেন \, "বা |। আপনি যদি /অনুসন্ধানের প্যাটার্ন বা প্রতিস্থাপনের স্ট্রিংয়ের মধ্যে একটি অন্তর্ভুক্ত করতে চান তবে এটি দরকারী ।


4
সুতরাং এটি আপনার নির্বাচিত ডিলিমিটারটি স্বয়ংক্রিয়ভাবে খুঁজে পাবে?
ঝড়ের ঝড়বাদী

13
হ্যাঁ. এর পরের চরিত্রটি sডিলিমিটার হিসাবে নেওয়া হয়। ডকুমেন্টেশনে আমি কোথায় একটি তালিকা পেয়েছি তা বুঝতে পারি না, তবে আমি নিশ্চিত যে কমপক্ষে /:;*%@#বৈধ কিনা।
ক্যাসাবেল

প্রচুর উইন্ডোজ-স্টাইলের পাথের সাথে কোনও ফাইলের / rep প্রতিস্থাপনের সময় এটি কার্যকর হয়। ধন্যবাদ
আইজাক নেউকিট্টেপাস

ডকুমেন্টেশনে সেই বার্তাটি পেতে, h e146
jcollado

আপনি এই সীমানা পরিবর্তন করতে পারবেন না ধারণা! এটি বিশাল - ধন্যবাদ
ব্রেটিনস

22
%s:<dog/>:<cat>

আপনি / বিসীমাবিদদের নির্দিষ্ট নিদর্শনগুলির জন্য বিরক্তিকর হয়ে উঠলে আপনি প্রতিস্থাপন করতে পারেন।


4
:ডিলিমিটারের জন্য +1 । আমি জানতাম না যে আপনি এটি ব্যবহার করতে পারেন। আমি সবসময় @'এস্কেপ-মেস' এর সময় ব্যবহার করতাম
জেফ্রি জোসে

8

একটি ব্যাকস্ল্যাশ দিয়ে তাদের উদ্ধৃত করুন। এছাড়াও, এটি প্রায়শই স্ল্যাশের পাশাপাশি অন্য একটি ডিলিমিটার ব্যবহার করতে সহায়তা করে।

 :%s#<dog/>#<cat\\>#

অথবা যদি আপনাকে বিকল্প কমান্ড ডিলিমিটার হিসাবে স্ল্যাশ ব্যবহার করতে হয়

 :%s/<dog\/>/<cat\\>/


2

আমি অনুরূপ কিছু সন্ধান করছিলাম, /অক্ষর (ম্যাক্রো রেকর্ড করার জন্য) রেজিস্টার মানগুলি অনুসন্ধান করার জন্য । সমাধানটি ছিল ?পরিবর্তে টোকেন ব্যবহার করে অনুসন্ধান করা /


দ্রষ্টব্য যে ?একটি পশ্চাদপদ অনুসন্ধান করবে এবং একই নয়।
মার্টিন টর্নোইজ

-1

ব্যাকস্ল্যাশ স্ল্যাশ ব্যাকস্ল্যাশ তারকা

/(<- the prompt)\/\*

সুতরাং আপনি টাইপ করার পরে এটি দেখতে মনে হচ্ছে

/\/\*

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