আউট টেক্সট সহ সমস্ত লাইনের জন্য কীভাবে একটি ভিএম অনুসন্ধান বিপরীত অনুসন্ধান করবেন


18

গ্রেপ দিয়ে আমি "আমার সন্ধান" বের করে সমস্ত লাইন পেতে একটি গ্রেপ -v "আমার অনুসন্ধান" করতে পারি

sed সঙ্গে আমি করতে পারেন কিন্তু '/ বায /! S / foo বিন্যাস / বার / ছ' আউট বায সঙ্গে লাইন টেক্সট প্রতিস্থাপন এটি

একই জিনিস করার উপায় আছে কি ভিম? এবং এটি কি তবে "এস ///" বাক্য গঠনটি সহ সম্ভব? কেবল "/" অনুসন্ধান বাক্য ব্যবহার করে।

উত্তর:


29
:g/pattern/

সমস্ত লাইন মেলে প্যাটার্ন পাওয়া গেছে।

:v/pattern/

বিপরীত না। দেখুন :h globalআরো বিস্তারিত জানার জন্য।

আপনি এটি এর মতো ব্যবহার করতে পারেন:

:v/pattern/norm Ipattern not found - <CR>

"প্যাটার্ন পাওয়া যায় নি -" প্রতি লাইনে যে "প্যাটার্ন" নেই বা প্রিপেন্ড করতে হবে

:v/pattern/s/nrettap/pattern

"প্যাটার্ন" নেই এমন প্রতিটি লাইনে "প্যাটার্ন" দিয়ে "nrettap" প্রতিস্থাপন করতে।

হ্যাঁ, সহিত উদাহরণস্বরূপ।


আমি "nrettap" করতে হবে।
আঙ্কেলজিভ

6

ফু নেই এমন লাইনগুলি অনুসন্ধান করার জন্য , উদাহরণস্বরূপ:

/^\(\(.*foo.*\)\@!.\)*$

সূত্র: http://vim.wikia.com/wiki/Search_for_lines_not_containing_pattern_and_other_helpful_sersches


1
আমি সেই dire @ নির্দেশনা সম্পর্কে জানতাম না যা আপনাকে অনুসন্ধানে পূর্ববর্তী পরমাণুকে উল্লেখ করতে দেয়। খুব দরকারী.
নেলারাও

এমনকি যদি সঠিক হয় তবে এটি সত্যই ব্যয়বহুল।
বেনোইট

1

: V কমান্ডটি ব্যবহার করুন সম্পাদনা করুন কোনও প্যাটার্নের সাথে মেলে না এমন রেখাগুলি খুঁজে পেতে চিরাচরিত পদ্ধতিটি : v কমান্ডটি ব্যবহার করছে :

:v/Warning/p

একটি বড় লগ ফাইলের সাথে কাজ করার সময় একটি ঝরঝরে কৌশল যেখানে আপনি আপনার আসল অনুসন্ধান শুরু করার আগে যতটা সম্ভব অপ্রাসঙ্গিক লাইনগুলি ফিল্টার করতে চান সেটি হ'ল ফাইলটিকে একটি অস্থায়ী নামের অধীনে সংরক্ষণ করা এবং সেখানে সমস্ত মিল না থাকা লাইনগুলি মুছে ফেলা:

:sav junk.log
:v/warning/d

আপনি এখন "লেনদেন" মুছে ফেলা সমস্ত লাইনের সাথে আপনার মূল ফাইলটির একটি ক্লোন সম্পাদনা করছেন এবং আপনি ইচ্ছামত সম্পাদনা করতে পারেন।

রেফ: https://vim.fandom.com/wiki/Search_for_lines_not_containing_ Pattern_ এবং__ অন্য_হেল্পফুল_আরচ

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