如何确定vim冻结的原因

时间:2014-06-19 13:07:21

标签: vim

使用 vim 时,编辑器会随机冻结大约一分钟,而发生这种情况时,vim会使用100%的核心。

问题在于我不想通过禁用和启用所有内容来查找是否有某些插件导致它。这样做的原因是我想要比这更优化的东西来更好地理解如何解决vim问题。由于冻结的随机性,我无法重现问题,因此当我禁用插件时,我无法知道它是否解决了问题。

是否有快速的通用方法来确定哪个插件.vimrc 命令导致此类 问题?还是一种重现冻结的方法?

当冻结发生时,我尝试附加到进程,看看是否有任何插件或函数占用CPU周期,但这没有帮助。

1 个答案:

答案 0 :(得分:5)

由于Vim在一段时间后“解冻”了它,它不会进入无限循环或崩溃。所以,Vim“just”在一些函数中花费了不可思议的长时间。您应该能够找到通过分析的位置。不幸的是,默认版本没有内置功能;你需要一个巨大的构建的Vim;对于Windows,您可以从Cream project获取此类二进制文件。请参阅:help profiling

此外,您可以使用vim -V20vimlog捕获Vim会话的完整日志。发生冻结时,退出Vim并检查日志的最后几行以查看Vim正在执行的操作,或使用tail -f监控日志。