আমি কীভাবে বর্তমান নথিতে শব্দ হাইলাইটিং সাফ করতে পারি (উদাহরণস্বরূপ কোনও শব্দ অনুসন্ধানের পরে)?


61

আপনি যখন কোনও ফাইলে কোনও শব্দের সন্ধান করেন তখন এর মতো /console.logসমস্ত উদাহরণ console.logহাইলাইট করা হয়।

আপনি যখন আর এগুলিতে আগ্রহী নন, হাইলাইটিং বিভ্রান্তিকর হতে পারে। হাইলাইটটি মুছে ফেলার জন্য আমার বর্তমান কৌশলটি হ'ল এমন কিছু করা /asntehua। এই শব্দটি হাইলাইট করার অপসারণের কোনও সঠিক উপায় আছে কি?


2
এর চেয়ে দ্রুত টাইপ করার মতো আর কিছুই নেই /skldafjlksjdf;)
শাহবাজ

1
আপনার .vimrc নিম্নলিখিত যোগ করুন :nnoremap <silent> <CR> :nohlsearch<CR><CR>। কমান্ড মোডে রিটার্ন হিট করুন, এবং হাইলাইটিং অদৃশ্য হয়ে যাবে।
নিলন

উত্তর:


47

এর বিকল্প হিসাবে :noh, আমি :let @/=""একটি কীবোর্ড শর্টকাটে ম্যাপ করা পছন্দ করি ।

পার্থক্যটি হ'ল :nohঅনুসন্ধান রেজিস্টারে অনুসন্ধান শব্দটি ছেড়ে যায়, তাই nএবং Nস্বাভাবিক মোডে পরবর্তী / পূর্ববর্তী ম্যাচে ঝাঁপিয়ে পড়ে পুনরায় হাইলাইট করে অনুসন্ধানটি পুনরায় শুরু করে। :let @/=""অন্যদিকে ব্যবহার করে বার্তাটি সৃষ্টি হয় E25: No previous regular expressionএবং আপনার কার্সারটি যেখানে ছিল সেখানে ছেড়ে দেয় যা বিশেষত সুবিধাজনক যদি আপনি এখনও জানেন না ctrl- oতবে এবং দুর্ঘটনাক্রমে আঘাত হানা n

এটি অন্য উপায়েও ব্যবহার করা যেতে পারে। কোনও লিখিত অংশে ঝাঁপ না দিয়ে ভিএমকে হাইলাইট করার জন্য, আপনি পারেন:let @/="some text"

এই এক্সপ্রেশনগুলিতে, @ আপনাকে একটি রেজিস্টার উল্লেখ করতে দেয়, এবং @ / সর্বশেষ অনুসন্ধানের ধরণটি ধারণ করে নিবন্ধক।


31

কেবল টাইপ করুন

:noh<cr>

(যেখানে <cr>একটি ক্যারেজ ফেরতের প্রতীক, যেমন এন্টার দিন)) এই কমান্ডটির সম্পূর্ণ অ সংক্ষেপিত সংস্করণ :nohlsearch

সুবিধার্থে আপনার ম্যাপিং যেমন থাকতে পারে

nnoremap <Leader><space> :noh<cr>

আপনার .vimrc। যেহেতু আমার নেতা স্পেস তাই এটি কেবল দু'বার স্পেসে আলতো চাপ দিয়ে হাইলাইটিং সাফ করার অনুমতি দেয়। (ডিফল্টরূপে <Leader>সেট করা আছে \)

আর একটি জনপ্রিয় বিকল্প হ'ল এটি Ctrl+ এর সাথে আবদ্ধ করা L, যেহেতু এটি 'redrawn টার্মিনাল স্ক্রিন' এর জন্য কম বেশি ডিফল্ট, যা আপনি করছেন মোটামুটি :

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

এটিতে টার্মিনাল স্ক্রিনটি পুনরায় আঁকানোর পার্শ্ব-প্রতিক্রিয়া রয়েছে, এটি যদি আপনার টার্মিনাল সংযোগটি ধীরে ধীরে ধীরে ধীরে হয় (যা এই দিনগুলিতে খুব বিরল)।
দ্রষ্টব্য: আপনি যদি টিপোপ / ভিএম-বোধগম্য ব্যবহার করছেন তবে এটি ইতিমধ্যে <C-l>উপরে তালিকাবদ্ধ ম্যাপিং সরবরাহ করে ।


21

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

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

:set nohlsearch

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

:noh

বা :nohlsearch(যতক্ষণ না মুছে ফেলা হবে nবা Nটেপা হলে বা তাজা অনুসন্ধান সঞ্চালিত হয়)


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

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

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

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

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

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

আমি আমার সাথে যুক্ত nnoremap <esc> :noh<return><esc>করেছি vimrcকিন্তু এটি কাজ করছে না। আমি jkপালাতে ম্যাপ করেছি , তা কি হতে পারে?
এমবিগ্রাস

ঠিক কী হচ্ছে? আপনি কিটি অক্ষম করেছেন ESC?
শেহিয়র

টিপলে jkহাইলাইট করা পাঠ্যটি টগল হয় না (তবে এখনও এটি কাজ করে Esc)। আমার টিপলে Escআমার কীবোর্ড উপরের বাম হাইলাইট টেক্সট বন্ধ টগল করে।
এমবিগ্রাস

সুতরাং আপনার উত্তর ঠিক আছে। আপনার jkমানচিত্রটি মানচিত্রের নীচে রাখুন ESCএবং নিশ্চিত করুন যে আপনি এর mapপরিবর্তে একটি সহজ ব্যবহার করছেনnoremap
শেহেরিয়ার

রিম্যাপিং পালানোর ফলে তীর কীগুলির সাথে সমস্যা দেখা দিতে পারে এবং আমি অন্যান্য পরিস্থিতিগুলি ধরে নিয়েছি যা একটি পালানোর কোড ব্যবহার করে। vi.stackexchange.com/questions/11144/…
রব মোশার

2

For / vimrc এ এর ​​জন্য শর্টকাটগুলির জন্য বেশ কয়েকটি প্রস্তাবিত সমাধান চেষ্টা করার পরে, আমি কেবল nmap <esc><esc> :noh<return>এটি যুক্ত করে স্থির হয়েছি । ডাবল পলায়ন তীর কীগুলির ক্রিয়াকলাপে হস্তক্ষেপ রোধ করে। আপনি যদি সন্নিবেশ মোডে থাকেন তবে একটি ট্রিপল পালানো দরকার। এটি কার্যকর করা দ্রুত এবং মনে রাখা সহজ।


2

আমি আমার .vimrc এ একটি স্বতঃসিএমডি যুক্ত করেছি যা আপনি sertোকানো মোডে যে কোনও সময় হাইলাইটিংটি সরিয়ে দেয়।

 autocmd InsertEnter * :let @/=""

2
nohlপরিবর্তে ব্যবহার করা let @/=""আরও ভাল পদ্ধতির হতে পারে, যেহেতু আপনি আপনার বর্তমান অনুসন্ধানটি আঁটসাঁট করে না।
জামেসান

@ জামেসান এটি :let @/=""কমান্ডের সাথে কাজ autocmd InsertEnter * :nohকরে তবে কোনও কারণে, কোনও ধারণা কেন?
টোবাক

1
প্রকৃতপক্ষে আমি কারণটি খুঁজে পেয়েছি: ডক্স অনুসারে 'অনুসন্ধান-হাইলাইটিং একটি "স্বায়ত্তশাসনের": নোহলসার্ক "দিয়ে বন্ধ করা যায় না' - কেন তার বিবরণ: vimdoc.sourceforge.net/htmldoc/autocmd.html#autocmd- অনুসন্ধান পত্র
টোব্যাক

1

আপনি যদি কোনও অনুসন্ধানের পরে হাইলাইট না করতে চান তবে আপনি এটি (আরও ভাল) ব্যবহার করতে পারেন:

:set nohls

বা এটি (আরও খারাপ):

:hi Search NONE

1

আমি টাইপ :help incsearchকরার সময় ম্যানুয়ালটিতে নিম্নলিখিতটি পেয়েছি:

augroup vimrc-incsearch-highlight
  autocmd!
  autocmd CmdlineEnter /,\? :set hlsearch
  autocmd CmdlineLeave /,\? :set nohlsearch
augroup END

যা আমি ব্যবহার করার জন্য পদত্যাগ করেছি সেহেতু আমি চেষ্টা করেছি এমন অন্যান্য সমাধানগুলি নিখুঁত ছিল না এবং এই সমাধানটি "ঘোড়ার মুখ থেকে সরাসরি" আসে, তাই কথা বলতে। এটি বর্তমান উইন্ডোতে সমস্ত অনুসন্ধানের মিলগুলি হাইলাইট করে।


1
/asdfasdf

এটির সুবিধাটি হ'ল আপনার এটি একেবারে টাইপ করতে হবে না। অসুবিধাটি হ'ল, 4096 বাইট ফাইলে প্রায় 1: 68719476736 সম্ভাবনা রয়েছে যা এটি কাজ করে না এবং আপনার কার্সারটি অন্য কোনও জায়গায় চলে যাবে। বৃহত্তর ফাইলগুলির জন্য এই সুযোগটি বাড়ে।


1
ভি এস ই তে স্বাগতম! আমি মনে করি যে স্ট্রিংটি asdfasdfএই অর্থে বিশেষ যে এটি প্রায়শই ব্যবহারিক ফাইলগুলিতে ঘটে থাকে, এলোমেলোভাবে নির্বাচিত 8-বাইট অনুক্রমের চেয়ে বেশি। সুতরাং, সুযোগ অনেক বেশি। :-)
ব্যবহারকারী 259412

0

আমি মনে করি না এইচএলএস অপসারণ মোটেও ভাল জিনিস হবে, কীভাবে সহজ শর্টকাট (বুলিয়ান) তৈরি করতে সক্ষম করা বা অক্ষম করা যায় সে সম্পর্কে আমার ক্ষেত্রে ->

" to reselect use gv in normal mode
nnoremap <S-F11> <ESC>:set hls!<cr>
inoremap <S-F11> <C-o>:set hls!<cr>
vnoremap <S-F11> <ESC>:set hls!<cr> <bar> gv

ম্যাজিকটি !সেটিং শেষে " " এর কারণেই ঘটে


0

আমি দেখতে পেয়েছি যে আমার কাছে এটিকে হাইলাইট করা খুব বিরল এবং যখন আমি যখন এটি হাইলাইট করতে চাই তখন কেবল একটি সংক্ষিপ্ত মুহুর্তের জন্য। আমার সমাধানটি হ'ল

nnoremap <Leader>/ set hls!<CR>

আপনি \/টিপলে এটি হাইলাইটিং সক্ষম করে এবং আপনি আবার চাপ দিলে এটি আবার অক্ষম করে। এটি আপনার প্রয়োজন হলে বিরল ক্ষেত্রে হাইলাইট করতে সহজ অ্যাক্সেস দেয়।

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