Если я нажимаю ESC для выхода из визуального режима после того, как я выделю какой-либо текст, заметная задержка перед тем, как текст не будет выделен, и я вернусь в обычный режим (даже если я выберу всего 1-2 символа). Можно ли избежать этой задержки?
3 ответа
Это может быть вызвано привязкой к некоторым дополнительным функциям. Например, я использую плагин tabbar, и он отображает 0-9 для переключения на буфер номеров. Всякий раз, когда клавиша сопоставляется с дополнительными функциями, подобными этой, vim ждет несколько секунд после ее нажатия, чтобы увидеть, собираетесь ли вы нажимать какие-либо дополнительные клавиши.
Чтобы увидеть, есть ли какие-либо дополнительные сопоставления, запустите :map
и найдите <Esc>
в первом столбце. При запуске без каких-либо параметров :map
все пользовательские сопоставления. Если вы хотите отобразить только отображения в визуальном режиме, запустите :vmap
.
Если есть дополнительные сопоставления, я не знаю, как удалить паузу, кроме удаления сопоставлений. Пауза необходима для того, чтобы vim однозначно знал, какое действие вы намерены предпринять.
У меня нет привязки, привязанной к <ESC> глобально или для визуального режима (вызов:verbose vmap <ESC> не дает результатов), но при выходе из визуального режима все еще существует значительная задержка. Даже на свежих установках без vimrc задержка присутствует. Использование <Cc> приводит к немедленному выходу из визуального режима.
Поскольку я не люблю нажимать <Cc> для выхода из любого режима, в настоящее время я отображаю <ESC> на <Cc> в визуальном режиме. Это выходит из визуального режима с использованием <ESC> без какой-либо задержки.
:vmap <ESC> <C-c>
Или вставьте следующую строку в ваш vimrc
vnoremap <ESC> <C-c>
Это не будет работать, если у вас есть сопоставления глобального или визуального режима, связанные с <ESC>.
Что вы можете сделать до сих пор, это использовать CTRL+C для выхода из визуального режима, что должно избежать задержки.