Ответ 1
Если вы используете tmux, это может привести к задержке. Поместите это в файл ~/.tmux.conf:
set -s escape-time 0
Я использую Vim, почти исключительно в консоли. Когда я выхожу из режима вставки, нажав <ESC>
, в Vim наблюдается заметное отставание, распознающее команду. Задержка похожа на задержку, когда я нажимаю клавишу <leader>
, я предполагаю, чтобы дать мне время для ввода других символов в картографировании. Есть ли опция, которую я могу настроить для того, чтобы заставить Vim быстрее распознавать клавишу эвакуации?
Если вы используете tmux, это может привести к задержке. Поместите это в файл ~/.tmux.conf:
set -s escape-time 0
Вкратце копирование из fooobar.com/questions/349081/...:
Вероятно, вы захотите проверить
:help 'timeout'
и настроить параметры соответственно. Вы можете установитьtimeoutlen
на более короткую продолжительность, если это необходимо (ttimeoutlen
по умолчанию установлен на-1
, поэтому он не используется).
Возможно, что вы выполняете медленное действие, когда вы покидаете режим вставки.
Вы можете проверить это, оставив режим вставки с помощью CTRL-C или используя :au InsertLeave
.
Edit:
Вы также можете проверить, есть ли какие-либо сопоставления или сокращения, которые ждут завершения с :iab
и :imap
.
set noesckeys
помогите esckeys:
'esckeys' 'ek' boolean (Vim default: on, Vi default: off) global {not in Vi} Function keys that start with an <Esc> are recognized in Insert mode. When this option is off, the cursor and function keys cannot be used in Insert mode if they start with an <Esc>. The advantage of this is that the single <Esc> is recognized immediately, instead of after one second. Instead of resetting this option, you might want to try changing the values for 'timeoutlen' and 'ttimeoutlen'. Note that when 'esckeys' is off, you can still map anything, but the cursor keys won't work by default. NOTE: This option is set to the Vi default value when 'compatible' is set and to the Vim default value when 'compatible' is reset.
Это может быть то, что происходит с вами - это то, что показало эти симптомы для меня.
После того, как map
пропинговал клавишу Alt, чтобы использовать комбинации мета-клавиш (в Mate-Terminal или Konsole в Debian), я заметил то же самое - выход из режима вставки занял timeoutlen
. Это было неприемлемо, даже с коротким timeoutlen
- но использование nmap
занимает сразу :)
" Using 'map' delays getting out of insert mode by timeoutlen!
for i in range(97,122)
let c = nr2char(i)
"exec "map \e".c." <M-".c.">"
"exec "map! \e".c." <M-".c.">"
exec "nmap \e".c." <M-".c.">"
endfor