Удалить выделение поиска VIM

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

2
задан studiohack
08.11.2022 9:15 Количество просмотров материала 2526
Распечатать страницу

5 ответов

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

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

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

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

let mapleader = ","

(который идет до сопоставление очистить поисковые запросы.)

15
отвечен Telemachus 2022-11-09 17:03

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

10
отвечен akira 2022-11-09 19:20

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

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

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

4
отвечен technomalogical 2022-11-09 21:37

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

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
3
отвечен Nathan Long 2022-11-09 23:54

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

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

0
отвечен sigvaldm 2022-11-10 02:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх