Мне нравится настройка "hlsearch", но после того, как я закончу поиск, я нахожу это противным. Особенно, если я ищу что-то, что имеет много совпадений. Я знаю, что могу отключить это с
:set nohlsearch
Но это занимает целых 16 нажатий клавиш, и что еще более досадно, я должен снова включить его для следующего поиска с
:set hlsearch
Есть ли способ, с помощью которого hlsearch может автоматически включаться, когда я начинаю поиск, и выключаться, когда я заканчиваю поиск? Например, если я вхожу в режим вставки или изменяю текст, отключится ли hlsearch без каких-либо дополнительных нажатий клавиш?
/
или?
, или если я нажмуn
илиN
, он включится без необходимости нажимать больше кнопок.:nno <BS> :set hls!\|set hls?<CR>
- одна строка, одно нажатие клавиши, обратная связь о состоянии, и не пытайтесь угадать, когда вы можете или не можете выделить. Иногда я хочу выделить подсветку на экране при редактировании. Иногда я этого не делаю, например, использую/
как движение с оператором.nnoremap <M-\> :set hlsearch!<CR><Bar>:echo 'hlsearch: ' . ['Off', 'On'][&hlsearch]<CR>
Ответы:
Есть гораздо более удобный способ. Вместо того, чтобы использовать
который фактически отключает настройку hlsearch, используйте
Это отключит только hlsearch до следующего поиска. Из
:help nohls
Тем не менее, это решение не идеально, так как вам все равно придется печатать,
:nohls
что является болью после каждого поиска. Вы можете обойти это с помощью картирования, напримерНо есть и лучшее решение! haya14busa / incsearch.vim . Это, по крайней мере, на мой взгляд, существенный плагин vim. Основная особенность заключается в том, что все поисковые совпадения подсвечиваются в реальном времени, когда вы вводите свое регулярное выражение. Например:
Тем не менее, дополнительная функция, которая также предоставляется - это возможность немедленно включать и выключать hlsearch при запуске / остановке поиска. Чтобы включить эту функцию, вам нужно будет добавить
к вашему
.vimrc
.Если у вас есть другие
n
сопоставления, вам придется их отключить. Например, я имел обыкновениеЭти два сопоставления не совместимы друг с другом!
источник
set hlsearch
. Если он определен вvimrc
нем, он будет перезаписываться:noh
каждый раз, когда вы отправляетеvimrc
. Разбираться в этом я имеюif !&hlsearch | set hlsearch | endif
в своемvimrc
. (И это еще одна проблема, которую плагин решает.)Vim-Cool это простой плагин, который делает именно это.
Он работает без переназначения пути использования
CursorMoved
иInsertEnter
автокоманды.источник
Я использую
<Leader><Enter>
в качестве ярлыка для:noh
. (Мой лидер,
, так что это довольно близко)Это отключит основные моменты до вашего следующего поиска.
источник
Как вы уже отметили в своем собственном ответе , гораздо эффективнее отключить подсветку с помощью
:nohlsearch
команды (которую можно сократить:noh
), чем отключить всю функцию и затем включить ее снова при следующем поиске.Если вы хотите отключить подсветку каждый раз, когда используете
i
вход в режим вставки, вы можете создать простое сопоставление для этого:Для читателя оставлено упражнение для создания аналогичных сопоставлений для других команд, где они хотят, чтобы подсветка была отключена.
источник
Это может звучать глупо или наивно, но когда я хочу остановить выделение, я ищу случайную строку, которая (практически наверняка) отсутствует в документе. Что-то вроде этого:
Конечно, это занимает несколько нажатий клавиш, но они действительно случайны, поэтому их можно набрать в кратчайшие сроки.
источник
n
иN
больше не работать, а также такие вещи, как:%s//something
или:g//something
. Это также загромождает вашу историю поискаЯ нашел более интуитивно понятным переназначить Ctrl- Lперекрасить, чтобы включить
:nohls
:источник
:help
разделов!Я использую
<Leader><Enter>
в качестве ярлыка для:hls
и мой лидер в качестве пробела.После поиска предмет будет подсвечен, чтобы выключить его, нажмите
<Space><Esc>
. И если вы решите, что хотите снова отобразить результаты поиска, нажмите<Space><Esc>
. Наhls!
средствах карты этого ключа привязки для переключения настройки дляhls
(сокращения дляhlsearch
, то есть поиска результата подсвечивания) (так!
тумблеров правой настройки перед ним).источник
Добавьте этот макрос в ваш .vimrc
Это позволит вам переключать подсветку с помощью #h
источник