Отключить: установить hlsearch при входе в режим вставки

Я hlsearch на мой .vimrc.

проблема в том, что когда я нахожу то, что мне нужно в моем документе, я хочу, чтобы он автоматически отключал hlsearch при входе в режим вставки для этой строки поиска.

Итак, если я попытаюсь найти другую строку, она начнется снова. Это поведение хорошо известно среди других редакторов.

Как это сделать?

10
задан Somebody still uses you MS-DOS
10.12.2022 23:59 Количество просмотров материала 2723
Распечатать страницу

2 ответа

отключить подсветку при вводе insertmode через i:

noremap i :set nohlsearch<CR>i

чтобы включить его, оставив режим вставки (через ESC):

inoremap <ESC> <ESC>:set hlsearch<CR>

вы могли применить эти идеи для всех видов ключей, как a,o etc.

или

autocmd InsertEnter * :set nohlsearch
autocmd InsertLeave * :set hlsearch

(престижность для InsertEnter' идея мероприятия)

7
отвечен akira 2022-12-12 07:47

Я нашел совершенно другой подход, но это именно то, что я искал.

:set hlsearch
autocmd InsertEnter * :let @/=""
autocmd InsertLeave * :let @/=""

устанавливает регистр "последний поиск" к пустой строке, так что ничего будет выделено. Ранние поиски еще можно вспомнить с помощью ключ после нажатия / или ? и при необходимости "пуск" строку для поиска.

Source

Спасибо за ответ akira, но на мой взгляд, это решение действительно элегантное. И он работает, я проверил его!

3
отвечен Somebody still uses you MS-DOS 2022-12-12 10:04

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

Ваш ответ

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

Имя
Вверх