当我按下 d 在vim我的状态线说 d
并无限期地等待进一步的指示。
当我按下我的领导时(, 对我来说,它等待输入一段时间然后超时。
如何禁用此功能,并使其无限期等待进一步的说明?
当我按下 d 在vim我的状态线说 d
并无限期地等待进一步的指示。
当我按下我的领导时(, 对我来说,它等待输入一段时间然后超时。
如何禁用此功能,并使其无限期等待进一步的说明?
从 :help ttimeout
:
'timeout' 'to' 'notimeout' 'noto'
'timeout' 'to' boolean (default on)
global
*'ttimeout'* *'nottimeout'*
'ttimeout' boolean (default off)
global
{not in Vi}
These two options together determine the behavior when part of a
mapped key sequence or keyboard code has been received:
'timeout' 'ttimeout' action
off off do not time out
on on or off time out on :mappings and key codes
off on time out on key codes
If both options are off, Vim will wait until either the complete
mapping or key sequence has been received, or it is clear that there
is no mapping or key sequence for the received characters. For
example: if you have mapped "vl" and Vim has received 'v', the next
character is needed to see if the 'v' is followed by an 'l'.
When one of the options is on, Vim will wait for about 1 second for
the next character to arrive. After that the already received
characters are interpreted as single characters. The waiting time can
be changed with the 'timeoutlen' option.
On slow terminals or very busy systems timing out may cause
malfunctioning cursor keys. If both options are off, Vim waits
forever after an entered <Esc> if there are key codes that start
with <Esc>. You will have to type <Esc> twice. If you do not have
problems with key codes, but would like to have :mapped key
sequences not timing out in 1 second, set the 'ttimeout' option and
reset the 'timeout' option.
NOTE: 'ttimeout' is reset when 'compatible' is set.
来自评论:
基本上,ESC是箭头和其他控制序列的“领导者”,因此您可能必须按ESC两次而不是一次。 - @Anton Kovalenko
运行
set notimeout
和set ttimeout
解决了我的问题。 - @nightcracker