1

Недавно я столкнулся с функциями timeout и ttimeout в vim.

Я использую последовательность клавиш jk для выхода из режима вставки в обычный режим. После этой статьи я думал, что отображение быстрых кодов клавиш [см. 2b], что я могу сделать так, чтобы моя последовательность jk подчинялась ttimeoutlen, в то время как все мои другие сопоставления подчинялись timeoutlen. Это было бы идеально, потому что я могу очень быстро нажимать на jk, когда захочу, чтобы не прерывать ввод текста, когда мне нужно вставить jk в документ.

Однако, после вышеупомянутой статьи, это не сработало для меня. я пошел

:set timeout timeoutlen=1000 ttimeoutlen=100
:set <F13>=jk
:map <F13> <esc>
:map! <F13> <esc>

и нажатие j в режиме вставки дает задержку, определяемую моим timeoutlen, а не моим ttimeoutlen.

Что я делаю неправильно? Это вообще возможно? Это возможно только для escape-последовательностей? Если так, то почему? Спасибо!

1 ответ1

2

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

Также я изменил код выше:

set timeout timeoutlen=1000 ttimeoutlen=100
set <f13>=jk
imap <F13> <esc>

У меня был этот набор прошлой ночью, и он не работал, так что я не знаю, что сделал «ночной отдых» ...

В любом случае, всем, кто использует jk или любую другую алфавитную последовательность для выхода из режима вставки, я рекомендую сделать это.

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