আমি কীভাবে নির্দিষ্ট রেখা সংখ্যার মধ্যে একটি স্ট্রিং সন্ধান করতে পারি?


15

আমি সম্প্রতি একটি সমস্যা এটি ছিল। কয়েকশ লাইনের পাঠ্য সহ আমার একটি ফাইল আছে। আমি দুটি নির্দিষ্ট রেখা সংখ্যার মধ্যে একটি স্ট্রিং কীভাবে অনুসন্ধান করতে পারি? উদাহরণস্বরূপ আমি লাইন সংখ্যা 100 এবং 325 এর মধ্যে অনুসন্ধান করতে চাই।

উত্তর:


7
:100,235g/foo/#<CR>

তারপরে :147<CR>কাঙ্ক্ষিত লাইনে ঝাঁপ দিতে টিপুন ।

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

:100,235il foo<CR>

দেখুন :help range, :help :globalএবং :help :ilist


5

নির্দিষ্ট লাইনগুলির মধ্যে অনুসন্ধানের অন্য উপায় রয়েছে।

/%>{linenumber}l\%<{linenumber}{pattern}

উদাহরণ:

/%>199l\%<300lgood

এটি 'ভাল' প্যাটার্নটির জন্য 200 থেকে 299 লাইনটি অনুসন্ধান করবে।

%>199l - l is for line, >199 denotes the lines greater than 199

2
100GV325G<esc>
/\v%Vpattern
  • 100GV325G<esc>দৃষ্টি থেকে 100 থেকে 325 পর্যন্ত লাইনগুলি নির্বাচন করুন, normalমোডে ফিরে যান ।
  • /\v%Vpattern:h /\%Vসর্বশেষ ভিজ্যুয়াল অঞ্চলে সীমা সীমিত করতে ব্যবহার করুন ।

আপনার প্যাটার্নে যদি নতুন লাইন থাকে তবে আপনাকে অবশ্যই \%Vভিজ্যুয়াল অঞ্চলে প্যাটার্ন শেষ সীমাবদ্ধ করতে অন্য একটি যুক্ত করতে হবে :

100GV325G<esc>
/\v%Vpattern%V
  • :h /\%V

1

কখনও কখনও আপনাকে কোনও ফাংশন / পদ্ধতির মধ্যে একটি প্রদত্ত প্রতীক অনুসন্ধান করতে হবে

  void f(bool b)
  {
    b;
    b;
  }

  void g(bool b)
  {
    b;  
    b;  
    b;  
    b;  
  }

জন্য অনুসন্ধান bমধ্যে f()শুধুমাত্র:

  • যেতে {এরf()
  • সাথে ভিজ্যুয়াল মোডে প্রবেশ করুন V
  • f()'%' দিয়ে শেষ করতে যান
  • ':' কমান্ডের সাহায্যে এক্সিকিউটিভ লাইনে যান
  • একবার আপনি il bপেতে কমান্ড লাইন ইনপুট হয় :'<,'>il b

<CR>(প্রবেশ) পরে আপনি পাবেন

b.cpp
  1:   15     b;
  2:   16     b;
Press ENTER or type command to continue

থেকে Welcomr Vi এবং তেজ ! এটি রোমেনেলের উত্তর থেকে কীভাবে আলাদা?
ডি বেন নোবল

ধন্যবাদ! প্রথমত, আমি বিশ্বাস করি যে ভিমে নতুন %এবং ভিজ্যুয়াল মোডের সাথে পরিচিত নয় এমন লোকেরা তাদের দরকারী বলে মনে করতে পারে। দ্বিতীয়ত, লাইনগুলির পরিসীমা স্পষ্টভাবে ইনপুট করার দরকার নেই।
dmytro.poliarush

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