Как сделать Vim незаметным, что вы искали? - PullRequest
211 голосов
/ 19 сентября 2008

Я ищу "nurple" в файле. Я нашел это, отлично. Но теперь, каждый случай "nurple" изображен больным черным по желтому. Навсегда.

Навсегда, то есть до тех пор, пока я не найду что-то, что, как я знаю, не будет найдено, например, asdhfalsdflajdflakjdf, оно просто очистит предыдущую подсветку поиска.

Разве я не могу просто нажать волшебный ключ, чтобы убить блики, когда я закончу поиск?

Ответы [ 14 ]

322 голосов
/ 19 сентября 2008

:noh (сокращение от nohighlight) сделает свое дело.

161 голосов
/ 19 сентября 2008

Просто поместите это в свой .vimrc

" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>
76 голосов
/ 19 сентября 2008

/lkjasdf всегда был быстрее, чем :noh для меня.

21 голосов
/ 09 ноября 2013
" Make double-<Esc> clear search highlights
nnoremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>
19 голосов
/ 19 сентября 2008

Тогда я предпочитаю это:

map  <F12> :set hls!<CR>
imap <F12> <ESC>:set hls!<CR>a
vmap <F12> <ESC>:set hls!<CR>gv

А почему? Поскольку переключает переключатель: если выделение включено, то нажатие F12 отключает его. И наоборот. НТН.

16 голосов
/ 19 сентября 2008

Добавьте следующую строку в конец вашего .vimrc, чтобы полностью исключить выделение:

set nohlsearch
9 голосов
/ 19 сентября 2008
            *:noh* *:nohlsearch*
:noh[lsearch]       Stop the highlighting for the 'hlsearch' option.  It
            is automatically turned back on when using a search
            command, or setting the 'hlsearch' option.
            This command doesn't work in an autocommand, because
            the highlighting state is saved and restored when
            executing autocommands |autocmd-searchpat|.
            Same thing for when invoking a user function.

Я нашел его чуть ниже :help #, который я постоянно нажимаю, и который выделяет все слова на текущей странице, как текущая.

4 голосов
/ 08 ноября 2013

Я думаю, что лучший ответ - использовать ярлык лидера:

<leader>c :nohl<CR>

Теперь, когда ваш документ заполнен выделенными терминами, вы просто нажимаете, c (мой лидер отображается на запятой). Работает отлично.

4 голосов
/ 19 сентября 2008

Я выполняю поиск так часто, что считаю полезным сопоставить клавишу подчеркивания, чтобы удалить подсветку поиска:

nnoremap <silent> _ :nohl<CR>
3 голосов
/ 02 апреля 2014

Я думаю, что этот ответ в " Vim clear последний поиск выделив " лучше:

:let @/ = ""
...