8

Если я нажимаю ESC для выхода из визуального режима после того, как я выделю какой-либо текст, заметная задержка перед тем, как текст не будет выделен, и я вернусь в обычный режим (даже если я выберу всего 1-2 символа). Можно ли избежать этой задержки?

3 ответа3

2

Это может быть вызвано привязкой к некоторым дополнительным функциям. Например, я использую плагин tabbar, и он отображает 0-9 для переключения на буфер номеров. Всякий раз, когда клавиша сопоставляется с дополнительными функциями, подобными этой, vim ждет несколько секунд после ее нажатия, чтобы увидеть, собираетесь ли вы нажимать какие-либо дополнительные клавиши.

Чтобы увидеть, есть ли какие-либо дополнительные сопоставления, запустите :map и найдите <Esc> в первом столбце. При запуске без каких-либо параметров :map все пользовательские сопоставления. Если вы хотите отобразить только отображения в визуальном режиме, запустите :vmap .

Если есть дополнительные сопоставления, я не знаю, как удалить паузу, кроме удаления сопоставлений. Пауза необходима для того, чтобы vim однозначно знал, какое действие вы намерены предпринять.

0

У меня нет привязки, привязанной к <ESC> глобально или для визуального режима (вызов:verbose vmap <ESC> не дает результатов), но при выходе из визуального режима все еще существует значительная задержка. Даже на свежих установках без vimrc задержка присутствует. Использование <Cc> приводит к немедленному выходу из визуального режима.

Поскольку я не люблю нажимать <Cc> для выхода из любого режима, в настоящее время я отображаю <ESC> на <Cc> в визуальном режиме. Это выходит из визуального режима с использованием <ESC> без какой-либо задержки.

:vmap <ESC> <C-c>

Или вставьте следующую строку в ваш vimrc

vnoremap <ESC> <C-c>

Это не будет работать, если у вас есть сопоставления глобального или визуального режима, связанные с <ESC>.

-2

Что вы можете сделать до сих пор, это использовать CTRL+C для выхода из визуального режима, что должно избежать задержки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .