如何确定vim冻结的原因

zbs*_*zbs 4 vim

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

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

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

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

Ing*_*kat 5

随着Vim在一段时间后"解冻"自身,它不会进入无限循环或崩溃.所以,Vim"just"在一些函数中花费了不可思议的长时间.您应该能够找到通过分析的位置.不幸的是,默认版本没有内置功能; 你需要庞大的Vim; 对于Windows,您可以从Cream项目中获取此类二进制文件.见:help profiling.

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