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


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.