vim - 如何调试按 'o' 冻结 Vim
问题描述
我的 Vim 正常工作,但有时会进入奇怪的状态。
当它发生时,o在正常模式下按下会导致 Vim 挂起。然后我可以通过按Ctrl+使其脱离该状态c。我希望光标向下移动一行并进入insert
模式。
有趣的是,一旦它进入这种状态,我每次都可以复制它。再次按下o将再次挂起,直到我按下Ctrl+ c。
很难调试它是否是一个特定的插件,因为它不会每次都发生。如果我禁用了一个插件,我不能确定是这个插件导致了这个问题,因为 Vim 通常可以工作,所以它可能每隔几天就会出现一次。
另外,我没有任何映射到o. map o
返回No mapping found
。
我不确定如何调试它;有人有什么想法吗?
解决方案
因为当我进入这个奇怪的状态时我可以复制这个问题,我可以分析这个问题。
profile start freezing_debug.txt
profile func *
profile file *
我设法发现GetLastRealCodeLNum
在 Vim 包中是根本原因。搜索 Google 帮助我发现已经创建了一个票证,我可能需要做的就是更新我的 Vim 版本以获取此更改。
推荐阅读
- arrays - 更新深层嵌套数组 mongodb
- azure - 从程序集中删除的对象在部署到 Azure 后仍然引用,本地很好
- javascript - 带有扩展项目及其周围项目的网格布局
- java - 图像比较性能java
- javascript - 如何使用 ActiveAdmin 传递窗口变量
- javascript - node js从302重定向获取cookie
- arrays - 如何将一个数组拆分为多个子数组
- windows - 将与 Tomcat servlet 容器捆绑在一起的 Teamcity 配置为 Windows 服务
- vue.js - nuxt.js 中的 JWT 授权
- pyqt5 - setStatusTip PyQT5 不会更新 statusBar