После проведенного поиска все совпадения для соответствующего запроса остаются выделенными, и это раздражает. Это происходит даже после того, как я закрываю соответствующий файл (нормальное поведение?). Как мне это убрать?
5 ответов
Вам нужна команда :nohlsearch
, но вы не хотите вводить ее каждый раз. Поместите это в ваш ~/.vimrc:
nnoremap <silent> <leader>n :nohlsearch<CR>
После этого вы просто вводите свой лидер (который по умолчанию \
), а затем n
чтобы очистить совпадения. Вам не нужно использовать n
; если вы предпочитаете, выберите что-то еще.
Вы также можете переназначить своего лидера на что-то более удобное, если хотите. Я использую запятую:
let mapleader = ","
(Это идет до сопоставления, чтобы очистить поиски.)
я просто /qiw772723euz
"искать" что-то, что не в файле. хакерский обходной путь, я знаю, я также заинтересован в реальном решении :)
Подобно ответу @Telemachus выше, комментарий к этому ответу в SO от @David Winslow предложил сопоставить переключение hlsearch
. Вы бы отобразили следующее:
nmap <silent> <leader>n :set hlsearch!<CR>
Нажатие на n отключит подсветку поиска и включит его каждый раз.
В моем конфиге я удаляю выделенные условия поиска, просто нажимая ввод в командном режиме. Вот как это настроено.
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
У меня немного другое решение. Для меня естественным было бы нажать <esc>
чтобы он ушел. Однако это не работает. Отображение <esc>
в :noh
имеет неприятные побочные эффекты, так что это тоже не вариант. <Leader>n
и подобные сопоставления кажутся мне неинтуитивными для такой тривиальной задачи. Однако, нажав <esc>
дважды, я могу жить с этим:
nnoremap <silent> <esc><esc> :nohlsearch<CR>