在 Vim 中调试按键

Debugging keypresses in Vim

出于某种原因,当我尝试从插入模式切换到正常模式时,我的 Vim 变得非常慢 - 有时我必须等待 2 秒才能进行切换,有时我必须按两次。可能和插件(我现在安装了很多)或者我自己的映射有关。

如何调试 Vim 中的按键操作(例如,将我按下某个键时实际发生的情况打印到日志中)?

您可以使用 vim -V20vimlog 捕获 Vim 会话的完整日志。退出 Vim 后,检查 vimlog 日志文件中是否有可疑命令。

但是,对于这个时间问题,可能有一个更简单的方法:延迟只能由 <Esc> 键上的映射引起(特别是在终端中,您必须使用 escape 处理歧义代码,也以 Escape 开头),或通过 InsertLeave 上的代码 运行。因此,检查是否已映射某些内容:

:verbose imap <Esc>

并列出(然后一一禁用)自动命令:

:verbose autocmd InsertLeave