Update 2018/4/26
- 问题是什么
在Debian的Vim8.0中,normal模式下,使用O创建新行,常常出现延迟情况:按下O后,可以看见O首先在当前光标位置出现,过了大约0.5-1秒,接着新的一行才被创建。
- 解决办法
参考:Delay before 'O' opens a new line?
从最高票的回答里可以看出来,可能解决延迟问题的办法有3个:
- 关闭
esckeys
选项。set noesckeys
- 减小
timeoutlen
的值,推荐小于1000, - 使用
^c
取代^[
。
我仅仅用第一种方法就解决了问题。使用O时的延迟消失了。
- 原因
vim中,在nocompatibel下,选项esckeys
默认开启。当键入的esc
键值为^[
时,连续使用esc
和O
键时,按下esc
后,vim会继续等待输入,超时后才执行命令,因此会造成延迟。