ভিমে নির্বাচিত পাঠ্যটি কীভাবে অনুসন্ধান করবেন?


61

আমি সচেতন যে /কোনও কিছুর অনুসন্ধান করতে আমি রেইগেক্সের পরে ব্যবহার করতে পারি। এবং আমি ?পিছনে অনুসন্ধান করতে ব্যবহার করতে পারেন । এবং আমি এগিয়ে এবং পিছনে অনুসন্ধান পুনরাবৃত্তি করতে nএবং ব্যবহার করতে পারেন N

দুটি দুর্দান্ত শর্টকাটও রয়েছে: *বা #কার্সারের নিচে শব্দটি অনুসন্ধান করবে (সামনের / পিছনে) এটি খুব দরকারী! (এছাড়াও আছে g*এবং g#বৈকল্পিক)

তবে ... একবার আমি ভিজ্যুয়াল মোড ( v) ব্যবহার করে পাঠ্যটি নির্বাচন করেছি , আমি কীভাবে ভিমকে সেই পাঠ্যটি ঠিক অনুসন্ধান করতে বলব? এক ঝলক তাকান :help... হু ... আমাকে সাহায্য করেনি।



সঙ্গে টিপসের জন্য ধন্যবাদ *এবং #! আপনার প্রশ্নটি কী g*এবং কী করবে তাও ব্যাখ্যা করে যদি চমৎকার হয় g#;)
উইঙ্কলারের

উত্তর:


22

নিচের ক্রমটি ইতিমধ্যে নির্বাচিত পাঠ্যের একটি ব্লক দেওয়া হলে আপনি যা করতে চান তা করবে:

  • y(নির্বাচিত পাঠ্যটি ইয়াঙ্ক করুন, "ডিফল্টরূপে নিবন্ধে)
  • / (অনুসন্ধান মোড প্রবেশ করুন)
  • ( \ V) (alচ্ছিক, "খুব না যাদু" মোডে প্রবেশ করুন *)
  • Ctrl+ r "( "নিবন্ধ থেকে পাঠ্য প্রবেশ করান )
  • Enter (ব্যস্ত!)

(*) "খুব জাদু নয়" মোড নীচের পাঠ্যটিকে রেজেক্সের পরিবর্তে সরল পাঠ হিসাবে ব্যাখ্যা করে। তবে এটি নোট করুন \এবং /এখনও বিশেষ এবং অন্যান্য উপায়ে পরিচালনা করতে হবে। যদি পাঠ্যটিতে কোনও অক্ষর না থাকে বিশেষ হিসাবে বিবেচনা করা হয় তবে আপনি এই পদক্ষেপটি এড়িয়ে যেতে পারেন।

সূত্র: ভিম টিপস উইকি


1
ধন্যবাদ! এটি vim.wikia পৃষ্ঠায় "হাউ-টু" -র চেয়ে অনেক বেশি বোধগম্য
উইঙ্কलरr

64

আপনি প্রথমে হাইটলাইটযুক্ত পাঠ্যটি ইয়াঙ্ক করতে পারেন। তারপর

  • /

  • Ctrlr

  • "

যা পরে আপনি যা করেছেন তা পেস্ট করবে /


7
সুন্দর ধারণা ... ব্যতীত আটকানো পাঠ্যটি একটি রেজেক্স হিসাবে ব্যাখ্যা করা হবে, যা পছন্দসই নয়। :-(
ডেনিলসন সা মিয়া

4
এটি যদি আপনার পক্ষে যথেষ্ট ভাল হয় তবে আপনি /\V<C-r>"পরিবর্তে এটি করতে পারেন । \Vআপনার অনুসন্ধান ক্যোয়ারী প্রিপেন্ড করে, আপনি "খুব কোনও যাদু নেই" ব্যবহার করতে ভিমকে বলবেন। ব্যাকস্ল্যাশগুলি এখনও আপনার সমস্যার কারণ হতে পারে। দেখুন:help \V
ইডব্রি

3
এটি Ctrl+Rআপনি কীভাবে কোনও রেজিস্টারে অ্যাক্সেস করেন এবং *এটি কেবল সিস্টেম ক্লিপবোর্ডের রেজিস্টার তা বোঝাতে সহায়তা করতে পারে । উদাহরণস্বরূপ, আপনি এটিও করতে পারেন: yawকোনও শব্দকে রেজিস্ট্রারে "(ডিফল্ট রেজিস্টারে) ইঙ্ক করা , তারপরে /<C-r>"সেই স্ট্রিংটি অনুসন্ধান করতে।
বেন ডেভিস

5
@ ডেনিলসনস - আপনি এই সমাধানটি ব্যবহার করতে পারেন, তবে /আপনার অনুসন্ধানটি ব্যবহার করার ?পরিবর্তে ব্যবহার করুন, কারণ বিপরীত অনুসন্ধানগুলি ডিফল্টরূপে স্ল্যাশ থেকে পালাতে পারে। তারপরে আপনি Nসামনের দিকে আপনার অনুসন্ধান চালিয়ে যেতে আঘাত করতে পারেন ।
ব্র্যাড পার্কস

7

আমি কখনই এই জাতীয় বৈশিষ্ট্যটির প্রয়োজনীয়তা অনুভব করি নি তবে আপনি ভিমে কোনও বৈশিষ্ট্যের প্রয়োজন খুঁজে নিতে পারেন বলে আমি মনে করি যে এটির সহায়তা করা উচিত:

চাক্ষুষভাবে নির্বাচিত পাঠ্যের জন্য অনুসন্ধান করুন

আমি এটি পরীক্ষা করে নিই তবে কোডটি দেখে মনে হচ্ছে আপনি ঠিক যা খুঁজছেন তা হ'ল।


4

এই আচরণটি তৈরি করার জন্য আপনি এখানে একটি পদ্ধতি পেতে পারেন ভিম উইকিতে


ভাল লাগল, আমি সাহায্য করতে স্ল্যাশগুলি এড়ানোর জন্য সংস্করণটি পেয়েছি। vnoremap // y/\V<C-r>=escape(@",'/\')<CR><CR>
ক্রুশ

1

এই দ্রষ্টব্যটি আপনার ভিম অনুসন্ধানটি বহুমুখী এবং অব্যাহতি অক্ষরের সাথেও চাক্ষুষভাবে নির্বাচিত প্রসঙ্গটিকে ক্ষমতা দেয়।

আপনার মধ্যে নিম্নলিখিত কোড যুক্ত করুন .vimrcএবং এর মাধ্যমে আপনার চাক্ষুষভাবে নির্বাচিত সামগ্রী অনুসন্ধান করুন //। আপনি বিশ্বব্যাপী দ্বারা নির্বাচিত সামগ্রীটি বিকল্প দ্বারা প্রতিস্থাপন করতে পারেন /s। অথবা স্থানীয়ভাবে //প্রথমে নির্বাচিত প্রসঙ্গটি প্রতিস্থাপন করুন এবং তারপরে দৃশ্যত একটি অঞ্চল নির্বাচন করুন এবং :'<,'>s//{new_text}

set incsearch
set hlsearch
set ignorecase
function GetVisualSelection()
  let raw_search = @"
  let @/=substitute(escape(raw_search, '\/.*$^~[]'), "\n", '\\n', "g")
endfunction
xnoremap // ""y:call GetVisualSelection()<bar>:set hls<cr>
if has('nvim')
  set inccommand=nosplit
  xnoremap /s ""y:call GetVisualSelection()<cr><bar>:%s/
else
  xnoremap /s ""y:call GetVisualSelection()<cr><bar>:%s//
endif

উপরের কনফিগারেশনটি কেবল অনুসন্ধান সম্পর্কে। আমার সমস্ত ভিএম কনফিগারেশনের জন্য দয়া করে .vimrc দেখুন


0

দুটি পৃথক মেশিনে আমার কনফিগারেশনে, যদি আমি পাঠ্যটি নির্বাচন করি এবং তারপরে /এটি আঘাত করে তবে নির্বাচিত পাঠ্যের জন্য অনুসন্ধান করা হবে।


এটি ডিফল্ট আচরণ নয়। এখানে যখন আমি / টিপুন (ভিজ্যুয়াল মোডে থাকাকালীন), এটি খালি রেগেক্স প্রম্পটটি দেখায়, আমার কিছু টাইপ করার অপেক্ষায়।
ডেনিলসন সা মিয়া

অদ্ভুত, কারণ আমি এটি সক্ষম করার জন্য কিছুই করি নি।
নাথান ফেলম্যান

3
অনেকগুলি ডিস্ট্রো ডিফল্ট হিসাবে একটি নন-স্ট্যান্ডার্ড ভিএম কনফিগারেশন চালিত করে (সম্ভবত কারণ ভিআইএম সামঞ্জস্যের জন্য স্ট্যান্ডার্ড ভিআইএম কনফিগারেশন অনেক দরকারী বৈশিষ্ট্য অক্ষম করে)।
স্লেস্কে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.