ভিম পরিষ্কার শেষ হাইলাইট


1903

ভিমে অনুসন্ধান করার পরে, আমি সমস্ত ঘটনা হাইলাইট করে পাই। আমি কীভাবে এটি অক্ষম করতে পারি? আমি এখন জিব্বের মতো এমন আরও কিছু অনুসন্ধান করেছি যা খুঁজে পাওয়া যায় না।

হাইলাইটটি সাময়িকভাবে অক্ষম করার এবং আবার যখন প্রয়োজন হবে তখন এটি পুনরায় সক্ষম করার কোনও উপায় আছে কি?


197
আমি মনে করি "nnoremap <esc>: noh <return> <esc>" সমাধানটি প্রশ্নের আরও সম্পূর্ণ উত্তর - আপনার .vimrc এ রেখে আপনি হাইলাইটিং সাফ করার জন্য অনুসন্ধানের পরে কেবল <esc> টিপতে পারেন পূর্ববর্তী অনুসন্ধান থেকে (তবে ভালের জন্য হাইলাইট করা অক্ষম নয়)।
স্টুয়ার্ট জনসন

5
: সেট ইনহেলসার্কটি ইতিমধ্যে হাইলাইট করা থাকলে তা হাইলাইটিংটি অক্ষম করে এবং যদি তা না করে এটি সক্ষম করে। শিফট-এইচ বলতে আপনি এটিকে মানচিত্র করতে পারেন।
ফুফাদার

1
আমার স্টাওয়ার্ট জনসন আমার .vimrc ফাইলগুলিতে এমনটি করার ফলে হস্তক্ষেপ / বিরতি বলে মনে হচ্ছে: সেট মাউস = এ। কোন ধারণা কেন? এই ত্রুটিটি কেবলমাত্র আইটর্ম 2
চার্লি পার্কার

20
@ স্টেটওয়ার্ট জনসন সাবধান! আপনার উপরের বিপরিতে ম্যাপিং কারণ ত্রুটি এবং অপ্রত্যাশিত আচরণের নীচের মন্তব্য বর্ণনা অনুযায়ী সঙ্গে মন্তব্য stackoverflow.com/a/1037182/1698467
skywinder

3
nnoremap <esc> :noh<return><esc>সমাধান @StewartJohnson দ্বারা প্রস্তাবিত গুই তেজ মধ্যে চমত্কারভাবে কাজ করে, কিন্তু নির্দেশক তীরচিহ্নগুলি এবং অন্যান্য চট্টগ্রাম সিটি কর্পোরেশন এনকোডেড কী যখন টার্মিনালে তেজ চলমান সঙ্গে সমস্যা দেখা দেয়। আপনার এটা করা না ~/.vimrc এটা মোড়কে ছাড়া if has('gui_running')... end
jbyler

উত্তর:


1585

পরবর্তী অনুসন্ধান না হওয়া পর্যন্ত হাইলাইট বন্ধ করতে:

:noh

বা সম্পূর্ণরূপে হাইলাইট বন্ধ করুন:

set nohlsearch

অথবা, এটি টগল করতে:

set hlsearch!

nnoremap <F3> :set hlsearch!<CR>

14
ভিএম পুনরায় চালু করা হলে হাইলাইটিং রিটার্ন সেট নোহলসার্ক করে। :nohআরও ভাল কাজ করে
ধর্মিত

21
এটি বিরক্তিকর যে কোনও জিব্বার স্ট্রিং অনুসন্ধান করতে যেমন তত দ্রুত হতে পারে: / oajf3w9 এটি টাইপ করার মতো: আমি @ অ্যাভোক্যাডের স্পেস কীটি ম্যাপিংয়ের সমাধানটি এতে পছন্দ করি:
নো

160
এটি এই উত্তর এবং মন্তব্যগুলি থেকে পরিষ্কার নয়: নোট যা set nohlsearchপরবর্তী অনুসন্ধানগুলির জন্যও হাইলাইটিং অক্ষম করবে। এর আচরণটি :nohএকেবারেই আলাদা: আপনি যখন নতুন অনুসন্ধান করেন বা আপনি যখন বর্তমান অনুসন্ধান সম্পর্কিত কোনও কাজ করেন (যেমন আপনি যখন nপরবর্তী আইটেমটিতে যাওয়ার জন্য টাইপ করেন) তখন হাইলাইটিংটি স্বয়ংক্রিয়ভাবে পুনরায় সক্ষম হবে ।
স্কিপি লে গ্র্যান্ড গৌরো

10
এগুলি আসলে কী করে এবং এর পরিণতি সম্পর্কে কোনও ব্যাখ্যা নেই। এর কিছু ব্যাখ্যা দেওয়ার জন্য @ স্কিপাইলগ্র্যান্ড গৌরৌকে ধন্যবাদ।
জেসন এস

3
এটির মূল্যের জন্য আমি এটিকে মানচিত্র করি '\/'(বা আপনার নেতা যাই হোক না কেন):map <Leader>/ :nohlsearch<CR>
ব্রায়ানমার্ন

689

থেকে VIM ডকুমেন্টেশন

সর্বশেষ ব্যবহৃত অনুসন্ধানের ধরণটি সাফ করার জন্য:

:let @/ = ""

এটি খালি স্ট্রিংটিতে প্যাটার্নটি সেট করবে না কারণ এটি সর্বত্র মিলবে। প্যাটার্নটি সত্যই সাফ হয়ে গেছে, যেমন ভিম শুরু করার সময়।


129
... যা আমি বুঝতে পারছি তার সমস্যার আরও ভাল সমাধান হতে পারে।
শন বাউকার্ট

8
এটাই আমি খুঁজছিলাম! আমি এটিকে ভোট দিয়েছি, প্রশ্নটি কিছুটা অস্পষ্ট। এটি আমাকে ভাবতে পরিচালিত করেছিল যে এটিই তিনি চেয়েছিলেন: "আমি এখন অন্যরকম কিছু গিবারীর জন্য অনুসন্ধান করি যা পাওয়া যায় না"। কারণ অনুসন্ধানটি সাফ করার জন্য আমি এটিই করছিলাম, তবে এটি অক্ষম করে না যাতে পরবর্তী অনুসন্ধানটি আবার হাইলাইট হয়।
ক্লাটট্রন

50
এটিই আমি ভাবলাম যে প্রশ্নটি সম্পর্কে ... এখানে অনুসন্ধানের স্ট্রিংটি পরিষ্কার করার জন্য একটি কমান্ড দিয়েছি (এবং তাই সমস্ত হাইলাইটস মুছে ফেলা হচ্ছে): এটি :command C let @/=""ব্যবহার করে আপনি :Cঅনুসন্ধানের স্ট্রিংটি সাফ করতে টাইপ করতে পারবেন ... খুব দ্রুত এবং ভবিষ্যতের অনুসন্ধান বা হাইলাইট প্রভাবিত করে না।
জেসন

12
@ jcreamer898, "রেজিস্টারস" ( :he registers) এ ভিএম সহায়তা দেখুন । ভিমের বিভিন্ন বিল্ট-ইন রেজিস্টার রয়েছে যা পাঠ্য ধারণ করে, কখনও কখনও ইয়ঙ্কযুক্ত ডেটার জন্য, কখনও কখনও শেষ অনুসন্ধানের জন্য ইত্যাদি you আপনি যখন অনুসন্ধান করেন, ভিম "/" রেজিস্টারে নিদর্শন রাখেন, যা আপনি ব্যবহার করে উল্লেখ করেছেন @/। এছাড়াও আপনি ব্যবহার রেজিস্টার মান ধার্য করতে পারেন @regname=valueযেখানে regnameরেজিস্টার নাম করা হয়। সুতরাং, @/=""কেবল খালি স্ট্রিংয়ের জন্য "/" রেজিস্টার সেট করা হচ্ছে ("/" রেজিস্টার ভিএম ব্যতীত এটি খালি স্ট্রিং থাকলে শেষ অনুসন্ধানটি সাফ করবে)।
বেন ডেভিস

3
সর্বশেষ অনুসন্ধানটি সাফ করতে Ctrl + / পেতে এটি আপনার noremap <silent> <c-_> :let @/ = ""<CR>
.vimrc এ যুক্ত করুন

583

আপনি করতে পারেন

:noh

বা :nohlsearchসাময়িকভাবে পরবর্তী অনুসন্ধান পর্যন্ত অনুসন্ধান হাইলাইটিং অক্ষম করতে।


3
ধন্যবাদ, এটি সহায়ক ছিল ... হাইলাইটটি ফিরিয়ে দেওয়ার জন্য কোনও আদেশ?
গ্যাব্রিয়েল সলোমন

17
: নোহস কেবল বর্তমান হাইলাইটিং বন্ধ করে দেয়। যদি আপনার কাছে থাকে: hlsearch সেট করুন তবে এটি আপনার অনুসন্ধানগুলি হাইলাইট করতে থাকবে।
গ্রেফেইড

6
আমি মনে করি ওপি এটি অনুসন্ধান করেছিল (যদিও শানের উত্তরটিও কার্যকর) works আমি এটি সংক্ষিপ্ত হওয়ার জন্য উত্সাহ দিচ্ছি। আমি জানি যে তিনি নোহলসের উত্তর গ্রহণ করেছেন, তবে এটি নির্ধারণের পরে অন্য অনুসন্ধানের চেষ্টা করা হলেও, সমস্ত অনুসন্ধান হাইলাইটিং অক্ষম করবে।
থিয়াগো আরাইজ

5
এটি সম্ভবত ওপি প্রথম স্থানে চেয়েছিল এবং এটি সবচেয়ে সংক্ষিপ্ত, সেরা উত্তর আইএমএইচও।

এই নশ্বর রাজ্যেও পরিপূর্ণতা অর্জনযোগ্য! আমি এর চেয়ে আরও বেশি ব্যবহার করব: সাহায্য করুন এবং <esc>: noreoremap <F1>: Noh <CR>
স্যাম ওয়াটকিন্স

305

আমি এই উত্তরটি বহু বছর আগে vim.org এ পেয়েছি:

আপনার .vimrc এ নিম্নলিখিতগুলি যুক্ত করুন:

"This unsets the "last search pattern" register by hitting return
nnoremap <CR> :noh<CR><CR>

সুতরাং, আপনার অনুসন্ধানের পরে, কেবলমাত্র কমান্ড মোডে ফিরে ফিরুন এবং হাইলাইটিং অদৃশ্য হয়ে যাবে।


36
আমি মনে করি এটি আসলে গ্রহণযোগ্যতার চেয়ে অনেক বেশি ভাল সমাধান - এটির পরিবর্তে <ESC> এ ম্যাপ করা হয় এটির একটি বা অন্যটি one
স্টুয়ার্ট জনসন

20
এটি "nnoremap <esc>: noh <return> <esc>" এর আরও অনেক ভাল উত্তর কারণ এটি অদ্ভুত আচরণের কারণ নয়।
ডেনিস

19
একটি গুরুত্বপূর্ণ বিষয় লক্ষণীয়, নিশ্চিত করুন যে আপনি কোনও পুনর্নির্মাণের ডানদিকে কোনও মন্তব্য না রেখেছেন। তাদের মন্তব্যের বিপরীতে পুনর্নির্মাণের আদেশ হিসাবে ব্যাখ্যা করা হবে।
কোডিউয়েল

13
মন্তব্যটি ভুল; কমান্ড নেই না গত অনুসন্ধান প্যাটার্ন আনসেট কিন্তু কেবল বর্তমান ফলাফল হাইলাইট বন্ধ সুইচ; আপনি nপরবর্তী ঘটনাটি খুঁজে পেতে আঘাত করতে পারেন (যা আবার হাইলাইট করা হবে)। বিটিডাব্লু, স্ক্রিপ্ট করার সময় আমি সংক্ষিপ্ত রূপটি এড়িয়ে চলতাম এবং পরিবর্তে লিখতাম :nohlsearch
টোবিয়াস

28
কমান্ড লাইনে ডিসপ্লের ঝলকানি এবং নোহকে এড়াতে <silent> যুক্ত করুন -: nnoremap <silent> <CR>: nohlsearch <CR> <CR>
পিটার এন লুইস

137

Http://twitter.com/jonbho/status/2194406821 থেকে

" Clear highlighting on escape in normal mode
nnoremap <esc> :noh<return><esc>
nnoremap <esc>^[ <esc>^[

দ্বিতীয় লাইনটি এস্কেপ কীতে ম্যাপিংয়ের জন্য প্রয়োজন যেহেতু ভিম অভ্যন্তরীণভাবে বিশেষ কীগুলি উপস্থাপনের জন্য এস্কেপ ব্যবহার করে।


12
কেবল পরিষ্কার করার জন্য, এটি আপনাকে এস্কেপ কী টিপে অনুসন্ধান হাইলাইটটি সাফ করতে দেয়
গাভিন মিলার

7
কোনও কারণে, এটি আমার টার্মিনালটিকে ভিএম শুরু করে তোলে যেন "সি" টিপেছিল। কোন ধারনা?
জ্যাকব

31
এটি চেষ্টা করার সময় এটি বেশ কিছু অদ্ভুত আচরণের কারণ হয়েছিল: প্রারম্ভকালে, নিয়মিত ভিম মুভমেন্টগুলি (যেমন জে, কে) লাইনগুলি সরিয়ে ফেলা হতে পারে। nnoremap <CR>: noh <CR> <CR> এই সমস্যাগুলির কারণ হিসাবে তৈরি করে নি। আমি মূল কারণটি সনাক্ত করতে পারি না।
oasisbob

9
হুম, আমার উপরের সমস্যাগুলির মতো একই সমস্যা ছিল। আপনি যদি এলোমেলোভাবে আপনার পাঠ্য মুছতে না চান তবে এটিকে যেমন-তেমন পরীক্ষা করবেন না তেমন ব্যবহার করুন ...
ডেরেক লিটজ

8
"nnoremap <esc>: noh <return> <esc>" ব্যবহার করে বীমকে সর্বদা "REPLACEMENT" মোডে শুরু করে তোলে।
ব্যবহারকারী 1850133

38

আমার মূল সমাধানটি (নীচে) নোংরা এবং অপব্যয় ছিল। আমি এখন ব্যবহার:noh

ভিমের অনেক বৈশিষ্ট্যের মতো, সঠিক উপায়টি প্রায়শই সহজে আবিষ্কারযোগ্য হয় না।

-

(এটা করো না)

অসম্ভব চরিত্রের ক্রম অনুসন্ধান করুন (হোম সারিটির কীগুলি ম্যাশ করুন):

/;alskdjf;

এটি ভিএম এবং আরও কম কাজ করে এবং @ শনবউকার্টের লজিক্যালি ক্লিনার সমাধান "শেষ ব্যবহৃত অনুসন্ধানের ধরণটি সাফ করার জন্য" এর চেয়ে মনে রাখা / টাইপ করা সহজ:

:let @/ = ""

একটি সম্ভাব্য খারাপ দিক এটি আপনার অনুসন্ধানের ইতিহাসে জাঙ্ক যোগ করে।


17
এটি কেবল একটি নোংরা সমাধানই নয় (যা আমি নিজে অবধি এখনও ব্যবহার করেছি, কোনও অপরাধ হয়নি), আরেকটি খারাপ দিক এটি হ'ল উইন্ডোটির নীচে একটি পাতলা লাল ব্যানার যুক্ত করেছে যা হাইলাইট করার মতো প্রায় বিরক্তিকর is নিজেই এবং বাতিল করতে আরও পদক্ষেপের প্রয়োজন (যেমন "অনুসন্ধান + ব্যাকস্পেস")।
স্কিপি লে গ্র্যান্ড গৌরও

5
এটি কয়েক সেকেন্ডও নিতে পারে, কারণ এটি প্রকৃতপক্ষে পুরো ফাইলটি অনুসন্ধান করে। ফাইলটি বড় হলে এটি সত্যিই বিরক্তিকর। অবশ্যই, আপনি আপনার বর্তমান অবস্থান চিহ্নিত করতে পারেন, শুরুতে লাফাতে এবং কোনও চরিত্রের পিছনে সন্ধান করতে পারেন, তবে এটি একইভাবে নোংরা।
ব্ল্যাকলাইট জ্বলজ্বলে

5
কমান্ড সম্পর্কে জানার আগে এটি সলিউশনটি ব্যবহার করবে :nohl। আমি পরবর্তীকালের সম্পর্কে জানতে পেরে আমি তত্ক্ষণাত্ সেই অনুসন্ধানগুলি বন্ধ করে দিয়েছিলাম।
টোবিয়াস

7
এটি কোনও উত্তর নয়; এটি কেবল ওপি ইতিমধ্যে যা করেছে তা করার পরামর্শ দিচ্ছে: "আমি এখন জিবির কিছু খুঁজে পাওয়ার জন্য অন্য একটি অনুসন্ধান করি যা পাওয়া যায় না।"
মনিকা পুনরায় ইনস্টল করুন -

2
আপনি যদি একটি নির্বোধ এবং সংক্ষিপ্ত প্যাটার্ন চান তবে কেবল ব্যবহার করুন /$4। এটি কোনও কিছুর সাথে মেলে কেবল অসম্ভব নয় তবে বাস্তবে সম্পূর্ণ অপ্রত্যাশিত। $সর্বদা একটি নতুন লাইন অনুসরণ করা উচিত বা ফাইলের শেষ হতে হবে এবং 4 টি নতুন লাইন বা ফাইলের শেষ নয়। (বিশেষত 4 টির কারণটি কেবল এটি একই কীতে রয়েছে, তাই দ্রুত টাইপ করা সত্যিই সহজ)
সেমিকোলন

32

আমার .vimrc.local ফাইলটিতে পুনরায় সেট করা হয়েছে, দ্রুত এবং নোংরা তবে খুব কার্যকরী:

" Clear last search highlighting
map <Space> :noh<cr>

32
nnoremap <cr> :noh<CR><CR>:<backspace>

:nohহিট করার সময় আমি কমান্ডলাইনে দেখানো থেকে মুক্তি পাইenterঅনুসন্ধানের পরে করার ।

:এটি একটি নতুন কমান্ড প্রবেশ করা শুরু করার মতো, Backspaceএটি সাফ করে এবং ফোকাসটিকে সম্পাদক উইন্ডোতে ফিরিয়ে দেয়।


6
ধন্যবাদ. নীচে বাম দিকে "" নোহ "দেখানো আমাকে পাগল করছে, জোর করে ওসিডি করছে।
অ্যান্ড্রুওয়েবার

আমি ন্যানোম্যাপ <এস- সিআর>: নো <সিআর> <সিআর> করে এটিকে স্থানান্তরিত সিআর-এ ম্যাপ করার চেষ্টা করছিলাম তবে এটি কার্যকর হয়নি, আপনি কি জানেন যে এটি কাজ করছে না কেন?
চার্লি পার্কার

আমি সন্দেহ করি আপনি ফেরতের সাথে শিফটটি একত্রিত করতে পারবেন না, তবে আমার সত্যতার কোনও ধারণা নেই।
sjas

@ চর্লিপার্কার আইআইআরসি আপনি কেবল শিফট অন [a-z]এবং এই জাতীয় অক্ষর ব্যবহার করতে পারেন ।
sjas

7
করছেন পরিবর্তে :<Backspace>, আপনি শুধু যোগ করতে পারেন <silent>পরে nnoremapতেজ বলতে কমান্ড এলাকায় কোনো আউটপুট প্রদর্শন করতে হবে: nnoremap <silent> <cr> :noh<CR><CR>
সোরেন জর্নস্ট্যাড

31

মূল প্রস্তাবিত প্রশ্নের অনুরোধ হিসাবে উত্তরগুলি প্রস্তাব করা :nohবা :nohlsearch(যেমন, ম্যাট ম্যাকমিন্স) অস্থায়ীভাবে অনুসন্ধান হাইলাইটিং অক্ষম করার জন্য সঠিক ।

আমি ভেবেছিলাম যে আমি একটি ম্যাপিংকে অবদান রাখব যা আমি সাধারণ মোডে দরকারী বলে মনে করি:

nnoremap <C-L> :nohlsearch<CR><C-L>

ডিফল্টরূপে, CtrlLভিমে স্ক্রিনটি সাফ করে এবং পুনরায় আঁকায়। বেশ কয়েকটি কমান্ড লাইন প্রোগ্রাম (বেশিরভাগ যারা জিএনইউ রিডলাইন গ্রন্থাগার , যেমন ব্যাশ ব্যবহার করেন) স্ক্রিনটি সাফ করার জন্য একই কী সংমিশ্রণটি ব্যবহার করে। এই বৈশিষ্ট্যটি সেই পরিস্থিতিতে কার্যকর যেখানে পটভূমিতে চলমান একটি প্রক্রিয়া টার্মিনালে প্রিন্ট করে, অগ্রভাগ প্রক্রিয়াটির ওভার রাইটিং অংশগুলি parts

এই সাধারণ মোড ম্যাপিংটি স্ক্রীনটিকে পুনরায় আঁকানোর আগে সাম্প্রতিকতম অনুসন্ধান শব্দটির হাইলাইটিং সাফ করে। আমি দুটি বৈশিষ্ট্য একে অপরের পরিপূরক পেয়েছি এবং CtrlLঅনুসন্ধান হাইলাইটিং অক্ষম করার জন্য পৃথক ম্যাপিং তৈরি না করে উভয় ক্রয়ের জন্য একসাথে ব্যবহার করা সুবিধাজনক ।

নোট: অন্যথায় noremapপরিবর্তে ব্যবহৃত হয় map, ম্যাপিং পুনরাবৃত্ত হবে।

টিপ: আমি সাধারণত পুনরায় ম্যাপ Caps Lockথেকে Ctrlসহজে যেমন চাবি সমন্বয় টাইপ করতে করতে; এটি করার জন্য বিশদগুলি আপনার পছন্দ ওএস / উইন্ডোটিং সিস্টেমের উপর নির্ভর করে (এবং এই উত্তরটির জন্য অফ-টপিক)। উভয় নিম্নলিখিত টিপস ম্যাপিং এ তথ্য অন্তর্ভুক্ত Caps Lockকরতে Ctrlসেইসাথে Esc:


26

আমি সাধারণত :nohব্যাকস্ল্যাশ কীতে ম্যাপ করি । হাইলাইটিংটি পুনরায় সক্ষম করতে, কেবল হিট করুন nএবং এটি আবার হাইলাইট হবে।


24

স্থায়ীভাবে অনুসন্ধান হাইলাইট করা অক্ষম করুন

আপনি যখনই কোনও অনুসন্ধান ব্যবহার করে ম্যাচগুলি হাইলাইট করা হবে না /

:set nohlsearch

পরবর্তী অনুসন্ধান পর্যন্ত হাইলাইট সাফ করুন

:noh

বা :nohlsearch(যতক্ষণ না মুছে ফেলা হবে nবা Nটেপা হলে)


চাপ উপর পরিষ্কার হাইলাইট ESC

nnoremap <esc> :noh<return><esc>

অন্য কী বা কাস্টম মানচিত্র টিপতে হাইলাইট সাফ করুন

  • টিপে টিপুন \(ব্যাকস্ল্যাশ) সাফ করুন

    nnoremap \ :noh<return>
    
  • ESCদুবার আঘাত করার বিষয়ে হাইলাইটগুলি সাফ করুন

    nnoremap <esc><esc> :noh<return>
    

2
nnoremap <silent> <esc> :noh<return><esc>সমাধান গুই তেজ মধ্যে চমত্কারভাবে কাজ করে, কিন্তু তীব্র সমস্যার কারণ নির্দেশক তীরচিহ্নগুলি এবং অন্যান্য চট্টগ্রাম সিটি কর্পোরেশন এনকোডেড কী যখন টার্মিনালে তেজ চলমান সঙ্গে। আপনার এটা করা না ~/.vimrc এটা মোড়কে ছাড়া if has('gui_running')... end। এছাড়াও স্ট্যাটাস বারে কমান্ডটি <silent>ঝলকানো এড়ানোর বিষয়টি বিবেচনা করুন :noh
jbyler

17

এটিই আমি ব্যবহার করি (অনেকগুলি বিভিন্ন প্রশ্ন / উত্তর থেকে বের করা):

nnoremap <silent> <Esc><Esc> :let @/=""<CR>

"ডাবল" দিয়ে Escআপনি হাইলাইটিংটি সরিয়ে ফেলবেন, তবে আপনি আবার অনুসন্ধান করার সাথে সাথে হাইলাইটিংটি আবার উপস্থিত হবে।


অন্য বিকল্প:

nnoremap <silent> <Esc><Esc> :noh<CR> :call clearmatches()<CR>

ভিম ডকুমেন্টেশন অনুসারে:

clearmatches ()

    Clears all matches previously defined by |matchadd()| and the

    |:match| commands.

আমি শীর্ষ সমাধানগুলিতে কিছু বাগের মুখোমুখি হয়েছিলাম, যাতে সমস্ত উত্তরগুলির চেষ্টা করে আপনার সময় সাশ্রয় হয়। এই সমাধানটি ব্যবহার করুন! আপনার সম্পাদনা করুন .vimrcএবং এটিতে নিম্নলিখিত এন্ট্রিটি রাখুন:nnoremap <silent> <Esc><Esc> :let @/=""<CR>
ব্যবহারকারীর 1336087

তবে এটি ওও বলে যা সম্ভবত আপনি উজ্জীবিত করতে পারেন?
পাবলো ওলমোস ডি আগুইলেরা সি।

আমি আপনার সমাধানটিকে সমর্থন করছি ... এটি সেরা একটি আইএমও ... এবং আমি
এটিরও উন্নতি

1
অনুসন্ধানের নিবন্ধটি সাফ করার সাথে সাথে আপনার অনুসন্ধান ফিরে পেতে কাজ না করার @/=""পার্শ্ব প্রতিক্রিয়া রয়েছে n। আমি পছন্দ করি :nohযা পূর্বের অনুসন্ধানটি পুনরায় ব্যবহারের জন্য রেজিস্টারে রাখে।
jbyler

11

পরবর্তী অনুসন্ধান না হওয়া পর্যন্ত হাইলাইট বন্ধ করতে

:noh

ভিজ্যুয়াল ইলাস্ট্রেশন



8

ভিআইএম এবং জিভিআইএম এর জন্য জেনাসের মতো আমার মতো নববধূদের জন্য অনেকগুলি বেকড-ইন জিনিস রয়েছে

<leader>hs - toggles highlight search

যা আপনার প্রয়োজন ঠিক তাই। কেবলমাত্র \hsসাধারণ মোডে টাইপ করুন। (নেতৃত্বের কীটি \ডিফল্টরূপে ম্যাপ করা হয়েছে ))

আছে HTH।


7

এর জন্য দুটি 'অবশ্যই' প্লাগইন রয়েছে:

  1. বুদ্ধিমান - Ctrl-lnohlsearch এবং redraw স্ক্রিন জন্য।
  2. unimpared - [oh, ]ohএবং cohনিয়ন্ত্রণ hlsearch করতে।

অবিবাহিতগুলি ভি -2 এ পরিবর্তিত coহয়েছে yo, তাই এটি yoh। দেখুন github.com/tpope/vim-unimpaired/blob/v2.0/doc/unimpaired.txt এবং github.com/tpope/vim-unimpaired/issues/150
myrdd

cohএখনও কাজ করে, যদিও yohআপনি যদি ব্যবহার করেন তবে ব্যবহার করার পরামর্শ দিচ্ছে এমন একটি বার্তা রয়েছেcoh
অবিনাশকশর্মমা

7

আপনি কার্সারটি সরানোর সাথে সাথে হাইলাইটিং বন্ধ করুন:

ভিএম-কুল ইনস্টল করুন । এই নির্দিষ্ট সমস্যাটি সমাধানের জন্য এটি তৈরি করা হয়েছিল। আপনি কার্সারটি সরানোর সাথে সাথে এটি হাইলাইট করা বন্ধ করে দেয়। সতর্ক হওয়া সত্ত্বেও, এটির জন্য সাম্প্রতিক ভিআইএম সংস্করণ প্রয়োজন!


6

এটি updatetimeনিষ্ক্রিয়তার মিলিসেকেন্ডের পরে অনুসন্ধানের হাইলাইট সাফ করবে ।

updatetime4000 মিমি বা 4 এস ডিফল্ট তবে আমি আমার 10 কে সেট করি। এটি নোট করা গুরুত্বপূর্ণ যে কেবল updatetimeএটির চেয়ে আরও বেশি কিছু করে ডক্সগুলি পরিবর্তন করার আগে এটি পড়ুন।

function! SearchHlClear()
    let @/ = ''
endfunction
augroup searchhighlight
    autocmd!
    autocmd CursorHold,CursorHoldI * call SearchHlClear()
augroup END

6

আপনি যদি দ্রুত হাইলাইটিং সক্ষম / অক্ষম করতে সক্ষম হতে চান তবে আপনি একটি কী ম্যাপ করতে পারেন

" Press F4 to toggle highlighting on/off, and show current value.
:noremap <F4> :set hlsearch! hlsearch?<CR>

উপরের স্নিপেটটি কেবল আপনার .vimrc ফাইলটিতে রাখুন।

সিং কী স্ট্রোকের সাহায্যে অনুসন্ধানের হাইলাইটটি দেখানো এবং লুকানোর জন্য এটি আমার পক্ষে সবচেয়ে সুবিধাজনক উপায়

আরও তথ্যের জন্য ডকুমেন্টেশন চেক http://vim.wikia.com/wiki/Highlight_all_search_pattern_matches


5

শীর্ষ 2 টি উত্তর মিলিয়ে আরও একটি সমাধান:

"To clear the last used search pattern:
nnoremap <F3> :let @/ = ""<CR>

অনুসন্ধানের নিবন্ধটি সাফ করার সাথে সাথে আপনার অনুসন্ধান ফিরে পেতে কাজ না করার @/=""পার্শ্ব প্রতিক্রিয়া রয়েছে n। আমি পছন্দ করি :nohযা পূর্বের অনুসন্ধানটি পুনরায় ব্যবহারের জন্য রেজিস্টারে রাখে। আপনি <F3>nnoremap <F3> :noh<CR>
এটির

5

আমি ব্যক্তিগতভাবে escনিম্নলিখিত কমান্ডে মানচিত্র করতে চাই :noh:

map <esc> :noh<cr>

আমি ভিম অনুসন্ধান সম্পর্কে সম্প্রতি একটি সম্পূর্ণ নিবন্ধ লিখেছি : কীভাবে ভ্যানিলা ভিমে অনুসন্ধান করতে হবে এবং অনুসন্ধানের বৈশিষ্ট্যগুলিকে উন্নত করার জন্য সেরা প্লাগইন।


4

আমি কেবল নীচের সরল নোহলটি ব্যবহার করি এবং কোনও প্লাগইন প্রয়োজন হয় না।

:nohl


4

আমার ধারণা হ'ল মূল প্রশ্নটি অক্ষম নয় concerned অনুসন্ধান হাইলাইটিং কেবল শেষ অনুসন্ধান থেকে হাইলাইটিং সাফ করে। মূল পোস্টারটি উল্লিখিত জিব্বার স্ট্রিং সন্ধানের সমাধানটি হ'ল এটি আমি পূর্ববর্তী অনুসন্ধান থেকে হাইলাইটিং সাফ করার জন্য কিছু সময় ব্যবহার করছি, তবে এটি কুৎসিত এবং জটিল।

আমি suggestions nnoremap .../ .vimrc- এ যুক্ত করতে বেশ কয়েকটি পরামর্শ পেয়েছি যেটি এখানে প্রারম্ভকালে মোড় প্রতিস্থাপন মোডে ভিএম লাগানোর প্রভাব ফেলবে যা আমি যা চাই তা মোটেও নয়। সবচেয়ে সহজ সমাধান আমি খুঁজে পেয়েছি লাইন যোগ করা হয়

nmap <esc><esc> :noh<return>

আমার ~ / .vimrc এ। এটি কেআইএসএস নীতিটির দিকে লক্ষ্য রাখে এবং তীর কীগুলির সাথে হস্তক্ষেপ করে না, যা একক <esc> ব্যবহার করে। পূর্ববর্তী অনুসন্ধান থেকে হাইলাইটিং সাফ করার জন্য কমান্ড মোডে (বা একটি ট্রিপল- <এসসি> সন্নিবেশ করানো বা প্রতিস্থাপন মোড থেকে) একটি দ্বিগুণ <esc> প্রয়োজন, তবে একটি ইউআই দৃষ্টিকোণ থেকে এটি অপারেশনটিকে যতটা সম্ভব সহজ করে তোলে।


একক <esc> তীর কীগুলির সাথে হস্তক্ষেপের অর্থ কী?
হানস্মোশ

1
@ হ্যান্সমোশ দেখুন ইউনিক্স.স্ট্যাকেক্সেঞ্জার.কম / সেকশনস / ২৮7১ // ২ আমি আমার .vimrc এ দুটি লাইন নিম্নরূপ ব্যবহার করেছি nmap <esc><esc> :noh<return> - to turn off search highlighting and nmap <esc>` :set hlsearch<return> - to turn on search highlighting
লিন্ডসে হাইসলে

4

আমি নীচে আমার ব্যবহার ~/.vimrc

nnoremap <Leader><space> :noh<Enter>

এটি বর্তমানের হাইলাইটেড অনুসন্ধানটি সাফ করা খুব সহজ এবং দ্রুত করে তোলে। আমার লিডার কীটি ম্যাপ করা হয়েছে \যাতে এটি আমার ডান গোলাপী আঙুল এবং থাম্ব দিয়ে ক্রিয়াটি সম্পাদন করা খুব সহজ করে তোলে।


3

আমি মনে করি @ শাঁনবউকার্ট এবং ১৯ মার্চ'০৯-এর উত্তর ১ 16:২২ তে মিশ্রণ একটি ভাল সমঝোতা:

" Reset highlighted search
nnoremap <CR> :let @/=""<CR><CR>

টিপুন Enterএবং হাইলাইট করা পাঠ্যটি আর হাইলাইট করা হবে না, যখন অনুসন্ধান হাইলাইট করা এখনও সক্ষম আছে।


3

আপনি ব্যবহার করতে পারেন : সন্ধানের ফলাফলের জন্য এইভাবে: চালু / বন্ধ করতে নোরম্যাপ

:noremap <F3> :set hls! hls?<CR>


3

@ বারুচ-এমনকি উত্তরের উপর ভিত্তি করে, আপনি সাধারণ মোডে ESCথাকাকালীন ডাবল প্রেসে অনুসন্ধান শব্দটি মুছতে পারেন :

nnoremap <esc> :let @/ = ""<return><esc>
nnoremap <esc>^[ <esc>^[

আমি মনে করি দ্বিতীয় বাঁধাই ঠিক আছে তবে প্রথমটি বিপজ্জনক। রিম্যাপিং <esc>জিইউআই ভিমে দুর্দান্তভাবে কাজ করে তবে টার্মিনালে উইম চালানোর সময় তীর কী এবং অন্যান্য ইসি-এনকোডযুক্ত কীগুলির সাথে মারাত্মক সমস্যা সৃষ্টি করেআপনার এটা করা না ~/.vimrc এটা মোড়কে ছাড়া if has('gui_running')... end। এছাড়াও স্ট্যাটাস বারে কমান্ডটি <silent>ঝলকানো এড়ানোর বিষয়টি বিবেচনা করুন :noh
jbyler

1

আমি এটি পছন্দ করি না। আমি :nohlসর্বদা প্রবেশ করা ক্লান্তিকর বলে মনে করেছি ... তাই আমি নিম্নলিখিত ম্যাপিংটি আমার মধ্যে রেখেছি.vimrc

noremap <C-_> :nohl<cr>:<backspace>

প্রথম বিট ( :nohl<cr>) হাইলাইটিং সাফ করে; দ্বিতীয় বিট ( :<backspace>) হ'ল কমান্ড লাইন পরিষ্কার করার কৌশল । অনুসন্ধান এখনও পটভূমিতে রয়েছে, সুতরাং আপনি যদি কেবল হিট করেন তবে nএটি পুনরায় হাইলাইট করবে এবং আপনাকে পরবর্তী ঘটনায় নিয়ে যাবে।


1

আমি এটি আমার vimrcফাইলে যুক্ত করেছি।

command! H let @/=""

আপনি একটি অনুসন্ধান করার পরে এবং আপনার অনুসন্ধান থেকে হাইলাইটগুলি সাফ করতে চান ঠিক তেমন করুন :H


1

আপনি বিকল্প হিসাবে আপনার .vimrc ফাইলটিতে ম্যাপিং যুক্ত করতে পারেন,

nmap <C-N>: nohlsearch

এবং তারপরে আপনি টিপতে পারেন

জন্য Ctrl + এন

হাইলাইট করা পাঠ্য সাফ করতে যে কোনও সময়


এই প্রশ্নের ইতিমধ্যে উপস্থিত অন্যান্য উত্তরের উপর এটি উন্নত হয় তা নিশ্চিত করার জন্য দয়া করে আপনার উত্তরটি সম্পাদনা করুন।
হংসসি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.