Profiling Vim startup time
If you're using Vim 7.2.269 or later, then there's the --startuptime option you can use.
vim --startuptime vim.log
from the help (vim -h
):
--startuptime <file> Write startup timing messages to <file>
I created this Github project in order to better answer your question. Basically, it calls vim
's built-in profiler with appropriate flags and options, then sums up the timing for each function calls for every plugins, which is not obvious (but important) from the raw vim --profile
output. Bash, Python, R, Ruby and Perl are supported (you don't need to install anything since you most likely have one of those already) for creating the profiling results.
You will get a result figure like this:
Along with text output like this:
Generating vim startup profile...
Parsing vim startup profile...
Crunching data and generating profile plot ...
Your plugins startup profile graph is saved
as `profile.png` under current directory.
==========================================
Top 10 Plugins That Slows Down Vim Startup
==========================================
1 105.13 "vim-colorschemes"
2 42.661 "vim-easytags"
3 31.173 "vim-vendetta"
4 22.02 "syntastic"
5 13.362 "vim-online-thesaurus"
6 7.888 "vim-easymotion"
7 6.931 "vim-airline"
8 6.608 "YankRing.vim"
9 5.266 "nerdcommenter"
10 5.017 "delimitMate"
==========================================
Done!