ভিআইএম থেকে গ্রেপ ব্যবহার করার সময়, কীভাবে ফলাফলগুলিতে ঝাঁপ পাবেন?


32

ভিআইএম-তে গ্রেপ প্লাগইন ব্যবহার করার সময়, আমি ফাইলগুলির একটি সেটের মধ্যে স্ট্রিংয়ের সমস্ত উপস্থিতির জন্য বর্তমান ডিরেক্টরিটি অনুসন্ধান করতে পারি:

:grep Ryan *.txt

এটি এরকম কিছু তৈরি করে:

file1.txt:3:Ryan was here
file2.txt:10:Ryan likes VIM
file3.txt:5:superuser.com is a fav of Ryan
(1 of 3): Ryan was here
Press ENTER or type command to continue

আমি এন্টার টিপলে, এটি আমাকে কেবল আমার সম্পাদকের কাছে নিয়ে যায়। আমি সত্যিই যা করতে চাই তা হ'ল সেই ফাইলগুলির মধ্যে একটি খুলতে এবং স্ট্রিংটি যেখানে পাওয়া গিয়েছিল সেখানে গিয়ে লাফ দিতে সক্ষম হয়। এই কাজ করতে একটি উপায় আছে কি? 1 of 3অংশ আমাকে মনে ফলাফলের মধ্য দিয়ে ট্যাবে একটি উপায় করে তোলে, কিন্তু আমি জানি না কি কমান্ড আমাকে পাওয়া যায়। কেউ কি এই বিষয়ে কিছু আলোকপাত করতে পারে?

উত্তর:


34

আপনি ENTER টিপুন, আপনি ফাইল 1.txt এর লাইন 3 তাকানো উচিত। পরের ম্যাচে ঝাঁপ দাও, চালিয়ে দাও :cn; আগের ম্যাচে ঝাঁপ দাও, চালাও :cp। এক্সিকিউট করা :copenম্যাচের তালিকাসমূহযুক্ত একটি উইন্ডো খুলবে। পছন্দসই ম্যাচে কার্সারটি সরান এবং সেই ম্যাচে যাওয়ার জন্য ENTER টিপুন।

আরও ব্যবহারের জন্য :grep, দেখুন

:help grep
:help quickfix.txt

টাইপিং :cnএবং :cpকুইকফিক্স তালিকায় এগিয়ে এবং পিছনে সরানো বিশ্রী হতে পারে, তাই আমি এই ম্যাপিংগুলি ব্যবহার করি:

nmap <silent> <C-N> :cn<CR>zv
nmap <silent> <C-P> :cp<CR>zv

এছাড়াও, :grepকমান্ডটি একটি প্লাগইন নয়; এটি ভিমের অংশ।


দুর্দান্ত উত্তর, ধন্যবাদ! বিটিডাব্লু, আপনি কি ভিএম গ্রেপ সহ ফোল্ডারগুলির মাধ্যমে পুনরাবৃত্ত অনুসন্ধান করতে পারেন?
মার্প্লেসফট

যতদিন আপনি একটি ইউনিক্স সিস্টেমে চালাচ্ছি, আপনি যোগ করতে পারেন যাই হোক না কেন তেজ আর্গুমেন্ট এর :grepযে আপনি একটি যোগ হবে grepকমান্ড শেল থেকে মৃত্যুদন্ড কার্যকর। সুতরাং, আপনি বর্তমান ডিরেক্টরিতে এবং এর নীচে সমস্ত .txt ফাইলের মাধ্যমে পুনরাবৃত্ত অনুসন্ধান করতে পারেন :grep -R --include=*.txt Ryan .। এছাড়াও আপনি তেজ এর ব্যবহার একটি recursive সার্চ সম্পাদন করতে পারবেন :vimgrepকমান্ড কিন্তু আর্গুমেন্ট ভিন্ন এবং আমি কদাপি ব্যবহার করা হয়েছে কারণ এটি তুলনায় ধীর হয় :grep
গ্যারিজোহন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.