Удалить VIM поиск


13

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

Ответы:


15

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

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

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

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

let mapleader = ","

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


4
Я просто делаю: нет, этого достаточно, чтобы vim понял, что я имею в виду. :)
Sml

@scottl Достаточно справедливо (и хорошее напоминание о том, что все команды имеют ярлыки), но я все еще люблю отображать часто используемые команды.
Телемах

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>

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.