12

После проведенного поиска все совпадения для соответствующего запроса остаются выделенными, и это раздражает. Это происходит даже после того, как я закрываю соответствующий файл (нормальное поведение?). Как мне это убрать?

5 ответов5

15

Вам нужна команда :nohlsearch , но вы не хотите вводить ее каждый раз. Поместите это в ваш ~/.vimrc:

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

После этого вы просто вводите свой лидер (который по умолчанию \), а затем n чтобы очистить совпадения. Вам не нужно использовать n ; если вы предпочитаете, выберите что-то еще.

Вы также можете переназначить своего лидера на что-то более удобное, если хотите. Я использую запятую:

let mapleader = ","

(Это идет до сопоставления, чтобы очистить поиски.)

10

я просто /qiw772723euz "искать" что-то, что не в файле. хакерский обходной путь, я знаю, я также заинтересован в реальном решении :)

4

Подобно ответу @Telemachus выше, комментарий к этому ответу в SO от @David Winslow предложил сопоставить переключение hlsearch . Вы бы отобразили следующее:

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

Нажатие на n отключит подсветку поиска и включит его каждый раз.

3

В моем конфиге я удаляю выделенные условия поиска, просто нажимая ввод в командном режиме. Вот как это настроено.

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

Как примечание, я хотел бы убедиться, что мои результаты поиска выделены очень четко, независимо от цветовой схемы, поэтому я даю им черный текст на желтом фоне.

" 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

У меня немного другое решение. Для меня естественным было бы нажать <esc> чтобы он ушел. Однако это не работает. Отображение <esc> в :noh имеет неприятные побочные эффекты, так что это тоже не вариант. <Leader>n и подобные сопоставления кажутся мне неинтуитивными для такой тривиальной задачи. Однако, нажав <esc> дважды, я могу жить с этим:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .