如何看看哪些插件让Vim变慢?

有没有一种方法来configurationVim插件?

当我打开一个大的.py时,我的MacVim变得越来越慢。 我知道我可以取消select所有的插件,并重新select一个一个来检查哪个插件是罪魁祸首,但有没有更快的方法?

我的dotvim在这里: https : //github.com/charlax/dotvim

你可以使用内置的分析支持:启动vim之后

 :profile start profile.log :profile func * :profile file * " At this point do slow actions :profile pause :noautocmd qall! 

(不像退出noautocmd不是真的需要,它只是让vim退出更快)。

注意:你不会得到有关在vim退出之前被删除的函数的信息。

我发现了另一个非常有用的vim buildin方法,用于在加载.vimrc时显示准确的时间消息。

 vim --startuptime timeCost.txt timeCost.txt 

请运行:

 :help --startuptime 

在VIM中获取更多信息。

它可能是一个插件或语法突出显示; 当发生这种情况时尝试一个:syntax off ,看看Vim是否立即变得更快。

通过插件,“普遍缓慢”通常来自于自动命令; :autocmd列出他们全部。 调查通过杀死他们中的一些:autocmd! [group] {event} :autocmd! [group] {event} 。 从更频繁的事件(即CursorMoved[I] )继续到较不频繁的事件(例如BufWinEnter )。

如果你可以在某种程度上可靠地重现缓慢的情况,那么二分查找可能会有所帮助:将~/.vim/plugin/一半文件移走,然后在另一个文件中重复该缓慢的操作。

如果你真的需要深入研究,可以得到启用了:profile命令的Vim版本。 (不是香草BIG Windows版本,但是Cygwin附带的版本,在大多数发行版本中,自编译相当容易)。

我发现通过使用-V选项启动Vim,可以将所有Vim活动打印到文件中:

 vim -V12log 

这提供了最大的详细程度(级别12)并将其输出到文件log 。 然后你可以执行一些你知道速度很慢的Vim动作,然后看看内部调用了哪些函数/映射。