Usuń wyróżnienie wyszukiwania VIM

13

Po przeprowadzeniu wyszukiwania wszystkie dopasowania dla danego zapytania są podświetlone i jest to denerwujące. Dzieje się tak nawet po zamknięciu odpowiedniego pliku (normalne zachowanie?). Jak to usunąć?

Alex
źródło

Odpowiedzi:

15

Chcesz polecenia :nohlsearch, ale nie chcesz go wpisywać za każdym razem. Umieść to w swoim ~ / .vimrc:

nnoremap <silent> <leader>n :nohlsearch<CR>

Następnie wystarczy wprowadzić lidera (który domyślnie jest \), a następnie nwyczyścić mecze. Nie musisz używać n; jeśli wolisz, wybierz coś innego.

Jeśli chcesz, możesz także zmienić przypisanie lidera na coś wygodniejszego. Używam przecinka:

let mapleader = ","

(To następuje przed mapowaniem, aby wyczyścić wyszukiwanie).

Telemachus
źródło
4
Po prostu robię: noh, co wystarczy, aby vim wiedział, co mam na myśli. :)
sml
@scottl Wystarczająco (i dobre przypomnienie, że wszystkie polecenia mają skróty), ale nadal lubię mapować często używane polecenia.
Telemachus,
10

po prostu /qiw772723euz„szukam” czegoś, czego nie ma w pliku. hacky obejście, wiem, jestem również zainteresowany prawdziwym rozwiązaniem :)

akira
źródło
to okropne, ale fajne szybkie i brudne „rozwiązanie” :)
Matthias Krull
4

Podobnie do powyższej odpowiedzi @Telemachus, komentarz do tej odpowiedzi w SO autorstwa Davida Winslowa sugerował zamapowanie przełącznika hlsearch. Zamapowałbyś następujące:

nmap <silent> <leader>n :set hlsearch!<CR>

Wciśnięcie n spowoduje wyłączenie i włączenie wyszukiwania podświetlenia za każdym razem, gdy go klikniesz.

technomalogiczny
źródło
3

W mojej konfiguracji wyczyściłem podświetlone wyszukiwane hasła, po prostu naciskając Enter w trybie poleceń . Tak to jest skonfigurowane.

set hlsearch    " highlight all matched terms
" Pressing return clears highlighted search
:nnoremap <CR> :nohlsearch<CR>/<BS>

Na marginesie, chciałbym upewnić się, że moje wyszukiwania są podświetlone bardzo wyraźnie , bez względu na kolorystykę, więc daję im czarny tekst na żółtym tle.

" When highlighting search terms, make sure text is contrasting color
:highlight Search ctermbg=yellow ctermfg=black
" Do the same for gvim
:highlight Search guibg=yellow guifg=black
Nathan Long
źródło
0

Mam nieco inne rozwiązanie. Dla mnie wydaje się, że naturalną rzeczą byłoby naciskać, <esc>aby zniknęło. To jednak nie działa. Mapowanie <esc>na :nohma nieprzyjemne skutki uboczne, więc nie jest to również opcja. <Leader>ni podobne odwzorowania wydają mi się nieintuicyjne dla tak trywialnego zadania. Jednak <esc>dwukrotne naciśnięcie to coś, z czym mogę żyć:

nnoremap <silent> <esc><esc> :nohlsearch<CR>

Sigvaldm
źródło