如何找出是哪个VIM插件导致了CPU负载过高

21

我刚刚完成了Vim的全新安装,并在此过程中为我的VIM配置添加了一些新插件。问题是现在,当我对文件进行第一次更改时,VIM会阻塞并且我的一个CPU占用率达到100%。在编辑文件时也会偶尔发生这种情况。这在以前的配置中从未发生过。 我该如何找出哪个插件正在耗费我的CPU资源?


6
逐一移除所有插件,然后再逐个添加回来。 - romainl
这是我试图避免的方法,但如果没有其他办法... - sica07
你可以使用剖析器。你也可以思考一下你的插件:有些插件在你调用它们之前完全是被动的,可能与你的问题无关;另一些插件可能会在每次按键时启动后台进程……例如状态栏可能会经常更新以显示版本控制系统的状态或其他内容。 - romainl
我们不了解您之前/当前的配置情况。您有哪些插件?您现在有哪些插件?您的旧~/.vimrc文件?您的新文件?您的操作系统?您的Vim版本? - romainl
1个回答

16
作为替代 romainl(简单而好用的)试错方法 的另一种选择:
我曾经使用过vim内置的性能分析工具::he profile
你可能需要自己编译vim以启用该功能(默认的vim不支持性能分析)。
然后
:profile start filename

为了激活分析并将你的性能数据写入filename,请编辑你的文件(这会将CPU推到100%),完成后

:profdel

要停止分析,请退出vim,您会发现分析信息已写入filename中。


在Debian Squeeze中,Vim默认启用了性能分析。感谢eckes! - sica07
11
为了对所有内容进行分析,请输入命令 :profile start filename,然后输入 :profile func *。接下来执行需要测试的操作,并关闭 vim 编辑器。不需要使用 :profdel 命令 - 它只是取消标记某些代码以便在分析中排除它们,而不是停止分析。 - glebtv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接