Vim8.0在Debian下,normal模式的O命令出现延时

时间:2022-11-04 18:02:56

Update 2018/4/26

  • 问题是什么

在Debian的Vim8.0中,normal模式下,使用O创建新行,常常出现延迟情况:按下O后,可以看见O首先在当前光标位置出现,过了大约0.5-1秒,接着新的一行才被创建。

  • 解决办法

参考:Delay before 'O' opens a new line?

回答者

从最高票的回答里可以看出来,可能解决延迟问题的办法有3个:

  1. 关闭esckeys选项。set noesckeys
  2. 减小timeoutlen的值,推荐小于1000,
  3. 使用^c取代^[

我仅仅用第一种方法就解决了问题。使用O时的延迟消失了。

  • 原因

vim中,在nocompatibel下,选项esckeys默认开启。当键入的esc键值为^[时,连续使用escO键时,按下esc后,vim会继续等待输入,超时后才执行命令,因此会造成延迟。