উত্তর:
যেমনটি ডক বলেছেন:
Vim has two ways to find matches for a pattern: Internal and external.
সংক্ষেপে, :vimgrep
ফাইলগুলি পড়তে এবং সন্ধান করতে ভিমের গ্রেপ প্রক্রিয়া ব্যবহার করে। :grep
একই কাজ অর্জন করতে একটি বাহ্যিক আদেশ ব্যবহার করে।
/
জন্য বর্তমান বাফার শুধুমাত্র, যেহেতু সার্চ হয় :[vim]grep
ফাইলের একটি প্যাটার্ন মাধ্যমে অনুসন্ধান, আপনি একসাথে একটি সম্পূর্ণ প্রকল্পে অনুসন্ধান করতে অনুমতি দেয়।
কটাক্ষপাত আছে :h grep
আরও তথ্যের জন্য।
:[vim]grep
ওভারের একটি সুবিধা /?
হ'ল ফলাফলগুলি কুইকফিক্স তালিকায় (বা আপনি যদি ব্যবহার করেন তবে অবস্থানের তালিকায় :l[vim]grep
) অন্তর্ভুক্ত হয়ে যায়, এর অর্থ হল যে আপনি সমস্ত ম্যাচ ব্যবহার করে একটি তালিকা টানতে পারেন :cl
। তারপরে আপনি তালিকা থেকে সরাসরি যে ফলাফলটি চান তাতে সরাসরি যেতে আপনি একটি নম্বর ব্যবহার করতে পারেন।
এর অর্থ হ'ল আপনি বর্তমান বাফারটি :[vim]grep pattern %
অনুসন্ধান করতে যেমন আপনার পুরো কোড বেসটি অনুসন্ধান করার জন্য একই কমান্ডটি ব্যবহার করতে পারেন :[vim]grep pattern path
তাই এটিতে কিছু সুন্দর প্রতিসাম্য রয়েছে।
এর পরেও আপনি ব্রাঞ্চ আউট করতে পারেন এবং আপনাকে খুব শক্তিশালী অনুসন্ধান দিতে সিলভার সার্ফার / রিপগ্রিপ ব্যবহার করতে পারেন । এগুলি :[vim]grep
কমান্ডে ম্যাপ করা যায় ।
আমি দেখতে 3 টি প্রাথমিক সুবিধা আছে
একটি সামঞ্জস্যপূর্ণ regex
ইঞ্জিন / সিনট্যাক্স ব্যবহার করুন : ব্যবহারের:grep/vimgrep
সাহায্যে আপনি একটিকে grepprg
সংজ্ঞায়িত করতে পারবেন যা সংজ্ঞায়িত করা যায় grep/ack/ag
। এটি ব্যবহার করে আপনি একটি সামঞ্জস্যপূর্ণ regex
ইঞ্জিন ব্যবহার করে বর্তমান বাফার বা একাধিক বাফার / ফাইল অনুসন্ধান করতে পারেন । অন্যদিকে, আপনি যদি ভিআইএম এর/pattern
বিকল্পটি ব্যবহার করেন তবে আপনি ভিমের ডিফল্ট রেজেক্স ইঞ্জিনে আটকে আছেন, যার সিনট্যাক্সের তুলনায় আলাদা extended regular expression
সিনট্যাক্স রয়েছে। সুতরাং, যে কোন সময় আপনি একটি অভিব্যক্তি জন্য অনুসন্ধান করতে থাকে, তাহলে আপনি চিন্তা করতে হবে / স্মরণ কিনা ব্যবহার করা উচিত হবে \)
বা শুধু )
এবং অন্যান্য পার্থক্য। এটি খুব বিরক্তিকর হতে পারে ( /programming/3864467/whats-tiffer-between-vim-regex-and-normal-regex )
vimgrep একটি কুইকফিক্স / অবস্থানের তালিকা পপুলেট করে: ব্যবহার করে :grep/vimgrep
আপনাকে অনুসন্ধানের তালিকা তৈরি করতে দেয়। ( https://medium.com/@lakshmankumar12/quickfix-and-location-list-in-vim-ca0292ac894d )।
আপনি যদি অবস্থানের তালিকাটি ব্যবহার করতে চান ]q
তবে আপনার যদি টিম-পপস অবিবাহিত প্লাগইন থাকে তবে এটি নেভিগেট করতে শর্টকাট ব্যবহার করতে পারেন ( https://github.com/tpope/vim-unimpaired )
ভিএম এর মধ্যে থাকা অবস্থায় জটিল অনুসন্ধানগুলি : সাধারণত যদি আপনাকে জটিল অনুসন্ধান করতে হয় তবে আপনাকে কমান্ড লাইন ব্যবহার করতে হতে পারে। তবে, আপনি যদি greprg
সঠিকভাবে সংজ্ঞা দেন এবং একটি কমান্ড ব্যবহার করেন যেমন [1]
: ভিএম / প্যাটার্ন 1 / find . -type f
আপনি খুব জটিল অনুসন্ধান করতে পারেন এবং আপনার location list
বা অনুসন্ধান ফলাফলগুলি প্রদর্শন করতে পারেন quickfix list
।
[1] http://vimcast.org/episodes/search-m Multipleple-files-with-vimgrep/