如何看看哪些插件让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动作,然后看看内部调用了哪些函数/映射。