【发布时间】:2012-11-15 19:20:59
【问题描述】:
当我按 Esc 离开插入模式时,在 Vim 真正返回正常模式之前会有半秒的暂停。
通常这不会成为问题,因为在按下 Esc 后按下像 j 这样的普通模式命令会立即执行普通模式命令(没有上述等等),但我有映射inoremap <Esc> <Esc>:w<CR>,所以每次我离开插入模式时都会写入文件。我希望在我按下 Esc 时 立即 进行写入,但是会有半秒的暂停。
我假设暂停是因为 Vim 正在等待更多输入,然后才决定我只是想键入一个简单的 Esc。这一定是因为某处的第一个字符是<Esc> 的映射,但我查看了我的.vimrc 并没有这样的映射。
此外,我什至运行了:map <Esc>,它返回了No such mapping。那么,如果没有这样的映射,为什么 Vim 似乎在等待更多输入,我该如何避免这种行为?
额外信息
这似乎是不可复制的,所以这里有一些更多的信息,以防有人真的想深入了解:
我正在使用Steve Francia's spf13 distribution of Vim,与my own .vimrc.local on top of it。我还使用 Vundle 安装了several additional plugins。
注意: .vimrc.local 的最后来源是 .vimrc。
【问题讨论】:
-
我在我的 .vimrc 中尝试了这个映射,但没有发现明显的延迟......所以我无法重现这个问题。
-
@Magnus,谢谢,我猜这一定是由于我的特殊配置。有关更多信息,请参阅编辑。
-
你确定暂停不是写文件的时间吗?
-
@Dan,相当肯定。停顿大约是正常写入文件时发生停顿时长的5-6倍。
标签: vim configuration keyboard-shortcuts