Ответы:
Вам нужна команда :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>