Išvalykite paskutinę paiešką

Atlikę paiešką Vim, gaunu visus pasirinktus įvykius. Kaip jį išjungti? Dabar aš darau kitą ieškoti kažko nerangaus, kurio nerandu.

Ar galima laikinai išjungti pasirinkimą ir, jei reikia, iš naujo įjungti jį?

1430 m
18 марта '09 в 12:00 2009-03-18 12:00 Gabrielis Saliamonas paklausė kovo 18 d
@ 27 atsakymai

Norėdami išjungti apšvietimą prieš kitą paiešką:

 :noh 

Arba visiškai išjunkite pasirinkimą:

 set nohlsearch 

Arba, jei norite ją perjungti:

 set hlsearch! nnoremap <F3> :set hlsearch!<CR> 
1107
18 марта '09 в 12:02 2009-03-18 12:02 atsakymą Mykola Golubyev pateikė kovo 09 d. 12:02 2009-03-18 12:02

VIM dokumentacijos

Jei norite ištrinti paskutinį naudotą paieškos modelį:

 :let @/ = "" 

Tai nenustatys šablono tuščia eilute, nes ji tinka visur. Šablonas tikrai išvalomas, pavyzdžiui, kai pradedamas Vim.

610
18 марта '09 в 12:12 2009-03-18 12:12 atsakymą pateikė Shaun Bouckaert kovo 18 d., 12 val. 12:12 2009-03-18 12:12

Jūs galite tai padaryti

 :noh 

arba :nohlsearch laikinai išjungia paieškos paryškinimą iki kitos paieškos.

538
18 марта '09 в 17:26 2009-03-18 17:26 atsakymą pateikė Matt McMinn , kovo 18 d., 17:26, 2009-03-18 17:26

Šį atsakymą aptiko prieš keletą metų vim.org:

Pridėti .vimrc:

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

Taigi, po paieškos, dar kartą spustelėkite, jei norite grįžti į komandų režimą, o apšvietimas išnyks.

248
atsakymas 2009-03-19 19:22 2009 m. Kovo 19 d. 19:22 val

http://twitter.com/jonbho/status/2194406821

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

Antroji linija reikalinga, kad būtų galima susieti su evakuacijos klavišu , nes Vim viduje naudoja evakuaciją, kad atstovautų specialius raktus.

122
24 июня '09 в 11:53 2009-06-24 11:53 atsakymą pateikė Baruchas Netgi birželio 24 d., 09:53, 2009-06-24 11:53

Raskite mažai tikėtiną simbolių seką (įjunkite pagrindinės eilutės raktus):

/;alskdjf;

Jis veikia vim ir mažiau, ir yra lengviau prisiminti / rašyti nei @ShaunBouckaert logiškai švaresnis sprendimas „išvalyti paskutinį naudotą paieškos modelį“:

:let @/ = ""

Galimas trūkumas yra tai, kad į paieškos istoriją įtraukiama nepageidaujama informacija.

36
17 марта '12 в 18:38 2012-03-17 18:38 atsakymą pateikė milerdev kovo 17 d. 12 val. 18:38 2012-03-17 18:38

Dar kartą pridėta prie mano .vimrc.local failo, greitai ir nešvariai, bet labai funkcionali:

 " Clear last search highlighting map <Space> :noh<cr> 
28
23 окт. atsakymas duotas avocade 23 okt. 2011-10-23 22:48 '11, 10:48 PM 2011-10-23 22:48
 nnoremap <cr> :noh<CR><CR>:<backspace> 

Tokiu būdu, aš atsikratysiu :noh rodoma komandinėje eilutėje paspausdami Enter po paieškos.

: panašus į naujo komandų įvesties pradžią, „ Backspace“ išvalo jį ir grąžina fokusą į redaktoriaus >

26
09 авг. atsakymas duotas sjas rugpjūčio 9 d 2012-08-09 22:04 '12, 10:04 val. 2012-08-09 22:04

Paprastai aš :noh į backslash kodą. Norėdami iš naujo pasirinkti pasirinkimą, tiesiog paspauskite n ir vėl bus paryškintas.

25
12 нояб. Atsakymą pateikė Caveman Nov 12 2010-11-12 20:49 '10, 08:49 PM 2010-11-12 20:49

Atsakymai, :nohlsearch :noh arba :nohlsearch (pvz., Matt McMinns) yra teisingi, kai laikinai išjungiate paieškos foninį apšvietimą - kaip nurodyta pirminiame klausime.

Maniau, kad įdėjau kartografiją, kurią manau naudinga įprastu režimu:

 nnoremap <CL> :nohlsearch<CR><CL> 

Pagal nutylėjimą „ Ctrl L “ Vim išvalo ir perrašo ekraną. Keletas komandinės eilutės programų (dažniausiai tos, kurios naudoja kortelės užrakto kortelės biblioteką, norėdami eiti į „XWindows“

Užrakinti kortelių dangtelius, kad išeitumėte į „Windows“
21
29 авг. Anthony Geoghegan atsakymas rugpjūčio 29 d 2014-08-29 16:35 '14, 16:35 2014-08-29 16:35

Išjungti nuolatinę paiešką

Atlikdami paiešką naudojant /

 :set nohlsearch 

Išvalykite pasirinkimą į kitą paiešką.

 :noh 

arba :nohlsearch (išvalytas prieš paspaudžiant n arba n )


Išvalykite foninį apšvietimą paspausdami ESC

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

Išvalykite pasirinkimą, kai paspausite kitą klavišą arba pasirinktinį žemėlapį

  • Išvalykite foninį apšvietimą paspausdami \ t

     nnoremap \ :noh<return> 
  • Išvalykite atspindį, kai du kartus pataikote į ESC

     nnoremap <esc><esc> :noh<return> 
19
07 нояб. Atsakymas pateikiamas Sheharyar 07.11 . 2015-11-07 10:08 '15 - 10:08 2015-11-07 10:08

Štai ką aš naudoju (išgauti iš daugelio skirtingų klausimų / atsakymų):

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

Jei „ Esc “ yra „dvigubas“ , ištrinate foninį apšvietimą, tačiau kai tik vėl atliksite paiešką, vėl pasirodys apšvietimas.


Kita alternatyva:

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

Pagal vim dokumentaciją:

išvalyti ()

  Clears all matches previously defined by |matchadd()| and the |:match| commands. 
14
30 нояб. Atsakymą pateikė Pablo Olmos de Aguilera C. 30 lapkričio. 2014-11-30 00:58 '14 ne 0:58 2014-11-30 00:58

Norėdami išjungti pasirinkimą iki kitos paieškos

 :noh 

2019

01 янв. atsakymas suteiktas arcseldon Jan 01 2016-01-01 01:54 '16 at 1:54 2016-01-01 01:54

Janus už VIM ir GVIM turi keletą keptų dalykų naujokams, kaip man, įskaitant

 <leader>hs - toggles highlight search 

būtent tai jums reikia. Tiesiog įveskite įprastą režimą. (Vadovo raktas yra numatytasis.)

NTN.

8
20 нояб. Paul-Sebastian Manole atsakymas lapkričio 20 d 2012-11-20 22:07 „12, 10:07 val. 2012-11-20 22:07

Tai pašalins paieškos paryškinimą po to, kai bus updatetime milisekundė neveiklumo.

Numatytasis atnaujinimo updatetime yra 4000 ms arba 4 s, bet updatetime minuso 10 s. Svarbu pažymėti, kad updatetime atlieka daugiau nei tik tai, todėl perskaitykite dokumentus prieš juos keisdami.

 function! SearchHlClear() let @/ = '' endfunction augroup searchhighlight autocmd! autocmd CursorHold,CursorHoldI * call SearchHlClear() augroup END 
6
24 апр. Kevino Cox atsakymas, pateiktas balandžio 24 d 2014-04-24 06:56 '14 at 6:56 2014-04-24 06:56

Tam yra du „privalomi“ papildiniai:

  • protingas - „ Ctrl-l skirtas „nohlsearch“ ekranui ir perrašymui.
  • unimpared - [oh , ]oh ir coh kontroliuoti hlsearch.
5
14 марта '16 в 11:16 2016-03-14 11:16 atsakymas pateikiamas dkiyatkin kovo 14–16 d. 11:16 2016-03-14 11:16

Jei norite greitai įjungti / išjungti žymėjimą, galite suderinti raktą su

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

Tiesiog įterpkite aukščiau pateiktą fragmentą į .vimrc failą.

Tai patogiausias būdas rodyti ir paslėpti paieškos užklausą paspausdami antraštės klavišą.

Daugiau informacijos rasite dokumentacijoje http://vim.wikia.com/wiki/Highlight_all_search_pattern_matches

5
30 сент. Atsakymas, kurį pateikė Amaynut Sep 30 2015-09-30 16:04 '15 - 16:04 2015-09-30 16:04

Kitas sprendimas, jungiantis du geriausius atsakymus:

 "To clear the last used search pattern: nnoremap <F3> :let @/ = ""<CR> 
5
04 апр. Atsakymą pateikia skywinder 04 balandžio. 2015-04-04 00:44 '15 - 0:44 2015-04-04 00:44

Jei turite įdiegtą „ incsearch.vim“ įskiepį , po paieškos galima automatiškai paryškinti pasirinkimą:

 let g:incsearch#auto_nohlsearch = 1 

2019

09 сент. Atsakymas duotas Deqing rugsėjo 9 d. 2016-09-09 09:46 '16 at 9:46 2016-09-09 09:46

Remiantis @ baruch'o atsakymu, galite ištrinti ESC paieškos užklausą , dukart spustelėdami įprastu režimu naudodami:

 nnoremap <esc> :let @/ = ""<return><esc> nnoremap <esc>^[ <esc>^[ 
3
19 авг. atsakymas dinigo 19 rug . 2016-08-19 11:26 '16 at 11:26 2016-08-19 11:26

galite naudoti : noremap, jei norite įjungti / išjungti paieškos rezultatą, pvz.,

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

3
09 дек. Atsakymas pateikiamas caopeng 09 Dec. 2015-12-09 09:06 '15 at 9:06 2015-12-09 09:06

Darau prielaidą, kad pradinis klausimas buvo ne išjungti paieškos apšvietimą, bet tiesiog išvalyti pasirinkimą iš paskutinės paieškos. Sprendimas rasti tabletes, ant kurių paminėtas originalus plakatas, yra tas, kurį kurį laiką naudoju, norėdamas išvalyti ankstesnės paieškos pasirinkimą, tačiau tai yra bjaurus ir sudėtingas.

Keletas sakinių, kuriuos suradau pridedant nnoremap ... į ~ / .vimrc, įjungia vim pakeitimo režimu paleidimo metu, o tai nėra tas, ko noriu. Paprasčiausias sprendimas, kurį radau, yra pridėti eilutę.

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

į mano ~ / .vimrc. Tai reiškia KISS principą ir netrukdo rodyklių klavišams, naudojantiems vieną <esc>. Dvigubas <esc> reikalingas komandų režime (arba trigubai <esc> režimu nuo įterpimo ar pakeitimo režimo), kad išvalytumėte ankstesnės paieškos pasirinkimą, tačiau vartotojo sąsajos požiūriu darbas tampa kuo paprastesnis.

3
07 авг. Lindsay Haisley atsakymas rugpjūčio 07 d 2017-08-07 21:29 '17 - 21:29 2017-08-07 21:29

Aš tiesiog naudoju žemiau esantį paprastą nohl ir nereikia jokių papildinių.

:nohl

3
28 февр. Atsakyti Stryker 28 feb. 2017-02-28 16:45 '17, 16:45 pm 2017-02-28 16:45

Manau, kad @ShaunBouckaert maišymas 2009 m. Kovo 19 d. 16:22 yra geras kompromisas:

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

Paspauskite Enter ir pasirinktas tekstas nebebus pasirinktas, o paieškos paryškinimas vis dar įjungtas.

3
29 апр. Ekans atsakė balandžio 29 d. 2014-04-29 12:51 '14, 12:51 2014-04-29 12:51

Naudodamasis savo ~/.vimrc

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

Tai supaprastina ir pagreitina dabartinės pažymėtos paieškos valymą. Mano pagrindinis lyderis yra susietas, todėl šis veiksmas yra labai lengvas su mano dešiniuoju pirštu ir nykščiu.

1
08 нояб. John Slavick atsakymas lapkričio 08 d 2017-11-08 00:24 '17 ne 0:24 2017-11-08 00:24

Įdiekite vim-cool . Jis buvo sukurtas siekiant išspręsti šią konkrečią problemą. Jis išjungia apšvietimą, kai tik perkeliate žymeklį.

1
05 нояб. atsakymas duotas 00prometheus lapkričio 5 d. 2017-11-05 23:59 '17, 23:59 pm 2017-11-05 23:59

Vietoj to, kad pasikliautumėte tam tikra .vimrc faile užprogramuota atminties kortele (kuri nepalaikoma kitiems įrenginiams), tiesiog naudokite šį įsilaužimą: pakartokite kažką neįtikėtino ieškojimo:

 /asdfsddsdf 
0
26 нояб. atsakymą pateikė TheBigAmbiguous . 2013-11-26 22:32 '13, 10:32 pm 2013-11-26 22:32

Kiti klausimai apie žymas arba Užduoti klausimą