Hapus sorotan pencarian VIM

13

Setelah pencarian yang saya lakukan, semua kecocokan untuk kueri masing-masing tetap disorot dan itu menjengkelkan. Ini terjadi bahkan setelah saya menutup file masing-masing (perilaku normal?). Bagaimana cara menghapus ini?

Alex
sumber

Jawaban:

15

Anda menginginkan perintah :nohlsearch, tetapi Anda tidak ingin mengetiknya setiap waktu. Letakkan ini di ~ / .vimrc Anda:

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

Setelah itu, Anda cukup memasukkan pemimpin Anda (yang secara default \) dan kemudian nmenghapus pertandingan. Anda tidak perlu menggunakan n; jika Anda mau, pilih yang lain.

Anda juga dapat memetakan ulang pemimpin Anda ke sesuatu yang lebih nyaman, jika Anda mau. Saya menggunakan koma:

let mapleader = ","

(Itu berjalan sebelum pemetaan untuk menghapus pencarian.)

Telemakus
sumber
4
Saya hanya melakukan: noh yang cukup untuk vim tahu apa yang saya maksud. :)
sml
@ skottl Cukup adil (dan pengingat yang baik bahwa semua perintah memiliki pintasan), tapi saya masih suka memetakan perintah yang sering digunakan.
Telemakus
10

saya hanya /qiw772723euzuntuk "mencari" sesuatu yang tidak ada dalam file. solusi hacky, saya tahu, saya tertarik pada solusi nyata juga :)

akira
sumber
itu mengerikan tetapi 'solusi' cepat dan kotor bagus :)
matthias krull
4

Mirip dengan @Telemachus jawaban di atas, komentar pada jawaban ini di SO oleh @David Winslow menyarankan pemetaan toggle of hlsearch. Anda akan memetakan berikut ini:

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

Menekan dan kemudian akan mengaktifkan sorot pencarian dan setiap kali Anda menekannya.

tekomalogis
sumber
3

Di konfigurasi saya, saya menghapus istilah pencarian yang disorot dengan hanya menekan enter dalam mode perintah . Ini adalah cara yang dikonfigurasikan.

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

Sebagai catatan, saya ingin memastikan bahwa kecocokan pencarian saya disorot dengan sangat jelas , tidak peduli skema warnanya, jadi saya memberi mereka teks hitam dengan latar belakang kuning.

" 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
sumber
0

Saya punya solusi yang sedikit berbeda. Bagi saya itu terasa sebagai hal yang wajar untuk dilakukan adalah menekan <esc>untuk membuatnya pergi. Namun, itu tidak berhasil. Pemetaan <esc>untuk :nohmemiliki jahat efek samping, jadi itu bukan pilihan baik. <Leader>ndan pemetaan serupa terasa tidak intuitif bagi saya untuk tugas sepele seperti itu. Namun, menekan <esc>dua kali adalah sesuatu yang bisa saya jalani:

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

sigvaldm
sumber