Rimuovi evidenziazione ricerca VIM


13

Dopo una ricerca che ho fatto, tutte le corrispondenze per la rispettiva query rimangono evidenziate ed è fastidioso. Questo succede anche dopo aver chiuso il rispettivo file (comportamento normale?). Come lo rimuovo?

Risposte:


15

Vuoi il comando :nohlsearch, ma non vuoi scriverlo ogni volta. Inserisci questo nel tuo ~ / .vimrc:

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

Dopodiché, devi solo inserire il tuo leader (che per impostazione predefinita è \) e quindi ncancellare le partite. Non è necessario utilizzare n; se preferisci, scegli qualcos'altro.

Puoi anche rimappare il tuo leader in qualcosa di più comodo, se lo desideri. Uso una virgola:

let mapleader = ","

(Ciò precede la mappatura per cancellare le ricerche.)


4
Lo faccio solo: noh, che è abbastanza perché Vim sappia cosa intendo. :)
sml

@scottl Abbastanza giusto (e buon promemoria che tutti i comandi hanno scorciatoie), ma mi piace ancora mappare i comandi utilizzati di frequente.
Telemaco,

10

ho solo /qiw772723euz"cercare" qualcosa che non è nel file. hacky soluzione, lo so, mi interessa anche una vera soluzione :)


è terribile ma una bella 'soluzione' veloce e sporca però :)
Matthias Krull

4

Simile alla risposta @Telemachus sopra, un commento su questa risposta a SO di @David Winslow ha suggerito di mappare un interruttore di hlsearch. Dovresti mappare quanto segue:

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

Se si preme n, si attiva e disattiva la ricerca delle alte luci ogni volta che si preme.


3

Nella mia configurazione, desidero cancellare i termini di ricerca evidenziati semplicemente premendo invio in modalità comando . Ecco come è configurato.

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

Come nota a margine, mi piace assicurarmi che le mie corrispondenze di ricerca siano evidenziate in modo molto chiaro , indipendentemente dalla combinazione di colori, quindi do loro un testo nero su uno sfondo giallo.

" 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

0

Ho una soluzione leggermente diversa. Per me sembra che la cosa naturale da fare sarebbe premere <esc>per farlo andare via. Tuttavia, ciò non funziona. Mappatura <esc>a :nohha cattivi effetti collaterali, in modo che non è una scelta possibile. <Leader>ne mappature simili mi sembrano poco intuitive per un compito così banale. Tuttavia, premendo <esc>due volte è qualcosa con cui posso convivere:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.