Answers:
如果上一个按下的键是ESC,这是因为有些键可以生成以ESC O开头的转义序列。例如,根据光标键模式,向上箭头键可能会生成转义序列ESC OA。
如果看到部分转义序列,vim将等待一小段超时,以查看是否接收到与为您的终端类型定义的转义序列之一匹配的另一个字符。如果不是,它将把这些字符视为单独的击键。您可以通过在等待行打开时输入大写字母A来进行测试,以查看是否将其视为向上箭头。
有一些vim设置可以用来控制它。 :set ttimeoutlen=100
将转义序列超时更改为100ms。 :set noesckeys
在插入模式下,将完全禁止识别发送转义序列的键。另外,vi兼容模式也不会出现此问题,因为在该模式下esckeys处于关闭状态,这就是vim -u NONE
起作用的原因。
:set noesckeys
可能不是您想要的-设置它,然后在插入模式下按箭头键,即使您不打算使用它们,也不想他们这样做!noesckeys也不会在插入模式之外加快速度。 ttimeoutlen
绝对是要走的路
-u NONE
但是我们仍然缺少操作人员的确认。