在 Vim 中调试按键
Debugging keypresses in Vim
出于某种原因,当我尝试从插入模式切换到正常模式时,我的 Vim 变得非常慢 - 有时我必须等待 2 秒才能进行切换,有时我必须按两次。可能和插件(我现在安装了很多)或者我自己的映射有关。
如何调试 Vim 中的按键操作(例如,将我按下某个键时实际发生的情况打印到日志中)?
您可以使用 vim -V20vimlog
捕获 Vim 会话的完整日志。退出 Vim 后,检查 vimlog
日志文件中是否有可疑命令。
但是,对于这个时间问题,可能有一个更简单的方法:延迟只能由 <Esc>
键上的映射引起(特别是在终端中,您必须使用 escape 处理歧义代码,也以 Escape 开头),或通过 InsertLeave
上的代码 运行。因此,检查是否已映射某些内容:
:verbose imap <Esc>
并列出(然后一一禁用)自动命令:
:verbose autocmd InsertLeave
出于某种原因,当我尝试从插入模式切换到正常模式时,我的 Vim 变得非常慢 - 有时我必须等待 2 秒才能进行切换,有时我必须按两次。可能和插件(我现在安装了很多)或者我自己的映射有关。
如何调试 Vim 中的按键操作(例如,将我按下某个键时实际发生的情况打印到日志中)?
您可以使用 vim -V20vimlog
捕获 Vim 会话的完整日志。退出 Vim 后,检查 vimlog
日志文件中是否有可疑命令。
但是,对于这个时间问题,可能有一个更简单的方法:延迟只能由 <Esc>
键上的映射引起(特别是在终端中,您必须使用 escape 处理歧义代码,也以 Escape 开头),或通过 InsertLeave
上的代码 运行。因此,检查是否已映射某些内容:
:verbose imap <Esc>
并列出(然后一一禁用)自动命令:
:verbose autocmd InsertLeave