1

I'm trying to investigate why Vim startup is pretty slow. vim -u NONE and the like are extremely fast as expected, so it is obviously my config/plugins, but what strikes me, is that most of the time is spent on first screen update.

Some stats:

Using :Startuptime from vim-startuptime

       startup: 1854.2
event                  time percent plot
first screen update  1505.1   81.17 ██████████████████████████
vimrc                 85.49    4.61 █▌
opening buffers       78.69    4.24 █▍
filetype.vim          39.89    2.15 ▊

Raw output of vim --startup:

924.078  000.482  000.482: sourcing /home/bferdinandy/.vim/plugged/tagbar/autoload/tagbar/types/uctags.vim
924.279  000.041  000.041: sourcing /home/bferdinandy/.vim/plugged/tagbar/autoload/tagbar/prototypes/typeinfo.vim
1595.653  1251.840: first screen update
1595.660  000.007: --- VIM STARTED ---

Compared to the 1-3 ms needed for vim -u NONE to update the first screen this is extremely slow and also very uninformative about the actual root cause.

Is there a better way to know what is happening during first screen update which makes it so slow other than disabling plugins one-by-one? If there isn't, can I get a list of what things happen during this first screen update if it is not the loading of plugins?

Edit:

Full logs:

vim --startup:


times in msec clock self+sourced self: sourced script clock elapsed: other lines

000.010 000.010: --- VIM STARTING --- 000.139 000.129: Allocated generic buffers 000.312 000.173: locale set 000.318 000.006: GUI prepared 000.319 000.001: clipboard setup 000.321 000.002: window checked 000.789 000.468: inits 1 000.884 000.095: parsing arguments 000.885 000.001: expanding arguments 000.895 000.010: shell init 001.259 000.364: Termcap init 001.286 000.027: inits 2 001.369 000.083: init highlight 001.586 000.152 000.152: sourcing /usr/share/vim/vim90/debian.vim 004.215 002.412 002.412: sourcing /usr/share/vim/vim90/colors/lists/default.vim 004.338 002.633 000.221: sourcing /usr/share/vim/vim90/syntax/syncolor.vim 004.436 002.770 000.137: sourcing /usr/share/vim/vim90/syntax/synload.vim 009.945 005.470 005.470: sourcing /usr/share/vim/vim90/filetype.vim 010.275 000.138 000.138: sourcing /usr/share/vim/vim90/autoload/dist/script.vim 010.662 000.563 000.425: sourcing /usr/share/vim/vim90/scripts.vim 010.702 009.078 000.275: sourcing /usr/share/vim/vim90/syntax/syntax.vim 010.718 009.330 000.100: sourcing $VIM/vimrc 016.914 001.886 001.886: sourcing /home/bferdinandy/.vim/autoload/plug.vim 017.416 000.184 000.184: sourcing /home/bferdinandy/.vim/vim-plug-configs/ale.vim 017.861 000.433 000.433: sourcing /home/bferdinandy/.vim/vim-plug-configs/coc.vim 017.949 000.076 000.076: sourcing /home/bferdinandy/.vim/vim-plug-configs/floaterm.vim 018.218 000.260 000.260: sourcing /home/bferdinandy/.vim/vim-plug-configs/fzf.vim 019.150 000.924 000.924: sourcing /home/bferdinandy/.vim/vim-plug-configs/git.vim 019.353 000.193 000.193: sourcing /home/bferdinandy/.vim/vim-plug-configs/goyo.vim 019.477 000.113 000.113: sourcing /home/bferdinandy/.vim/vim-plug-configs/i3wm-kitty-vim-tmux-navigator.vim 019.686 000.199 000.199: sourcing /home/bferdinandy/.vim/vim-plug-configs/iamcco-markdown-preview.vim 019.911 000.214 000.214: sourcing /home/bferdinandy/.vim/vim-plug-configs/movements.vim 023.453 003.531 003.531: sourcing /home/bferdinandy/.vim/vim-plug-configs/plugins.vim 023.641 000.175 000.175: sourcing /home/bferdinandy/.vim/vim-plug-configs/tags.vim 024.246 000.593 000.593: sourcing /home/bferdinandy/.vim/vim-plug-configs/theme-setup.vim 024.422 000.164 000.164: sourcing /home/bferdinandy/.vim/vim-plug-configs/vim-auto-save.vim 024.509 000.076 000.076: sourcing /home/bferdinandy/.vim/vim-plug-configs/vim-easy-align.vim 024.586 000.068 000.068: sourcing /home/bferdinandy/.vim/vim-plug-configs/vim-obsession.vim 024.661 000.067 000.067: sourcing /home/bferdinandy/.vim/vim-plug-configs/vim-polyglot.vim 024.761 000.093 000.093: sourcing /home/bferdinandy/.vim/vim-plug-configs/vim-swap.vim 025.024 000.256 000.256: sourcing /home/bferdinandy/.vim/vim-plug-configs/vimspector.vim 025.920 000.887 000.887: sourcing /home/bferdinandy/.vim/vim-plug-configs/writing.vim 026.992 000.975 000.975: sourcing /usr/share/vim/vim90/ftoff.vim 031.530 000.005 000.005: sourcing /home/bferdinandy/.vim/plugged/vim-polyglot/filetype.vim 035.722 000.015 000.015: sourcing /home/bferdinandy/.vim/plugged/vim-fugitive/ftdetect/fugitive.vim 036.014 000.013 000.013: sourcing /home/bferdinandy/.vim/plugged/vim-tmux-syntax/ftdetect/tmux-conf.vim 036.208 000.162 000.162: sourcing /home/bferdinandy/.vim/plugged/vim-kitty/ftdetect/kitty.vim 036.441 000.012 000.012: sourcing /home/bferdinandy/.vim/plugged/vim-javascript/ftdetect/flow.vim 036.494 000.042 000.042: sourcing /home/bferdinandy/.vim/plugged/vim-javascript/ftdetect/javascript.vim 036.578 000.032 000.032: sourcing /home/bferdinandy/.vim/plugged/vim-json/ftdetect/json.vim 036.660 000.006 000.006: sourcing /home/bferdinandy/.vim/plugged/mbsync.vim/ftdetect/mbsync.vim 036.761 000.014 000.014: sourcing /home/bferdinandy/.vim/plugged/vim-polyglot/ftdetect/polyglot.vim 036.824 000.017 000.017: sourcing /home/bferdinandy/.vim/plugged/vimtex/ftdetect/cls.vim 036.858 000.023 000.023: sourcing /home/bferdinandy/.vim/plugged/vimtex/ftdetect/tex.vim 036.965 000.015 000.015: sourcing /home/bferdinandy/.vim/plugged/vimtex/ftdetect/tikz.vim 037.042 000.031 000.031: sourcing /home/bferdinandy/.vim/plugged/vim-markdown/ftdetect/markdown.vim 037.261 005.679 005.297: sourcing /usr/share/vim/vim90/filetype.vim 037.410 000.008 000.008: sourcing /home/bferdinandy/.vim/plugged/vim-fugitive/ftdetect/fugitive.vim 037.558 000.007 000.007: sourcing /home/bferdinandy/.vim/plugged/vim-tmux-syntax/ftdetect/tmux-conf.vim 037.705 000.131 000.131: sourcing /home/bferdinandy/.vim/plugged/vim-kitty/ftdetect/kitty.vim 037.829 000.005 000.005: sourcing /home/bferdinandy/.vim/plugged/vim-javascript/ftdetect/flow.vim 037.850 000.016 000.016: sourcing /home/bferdinandy/.vim/plugged/vim-javascript/ftdetect/javascript.vim 037.884 000.014 000.014: sourcing /home/bferdinandy/.vim/plugged/vim-json/ftdetect/json.vim 037.944 000.005 000.005: sourcing /home/bferdinandy/.vim/plugged/mbsync.vim/ftdetect/mbsync.vim 038.022 000.007 000.007: sourcing /home/bferdinandy/.vim/plugged/vim-polyglot/ftdetect/polyglot.vim 038.067 000.011 000.011: sourcing /home/bferdinandy/.vim/plugged/vimtex/ftdetect/cls.vim 038.083 000.011 000.011: sourcing /home/bferdinandy/.vim/plugged/vimtex/ftdetect/tex.vim 038.095 000.008 000.008: sourcing /home/bferdinandy/.vim/plugged/vimtex/ftdetect/tikz.vim 038.138 000.022 000.022: sourcing /home/bferdinandy/.vim/plugged/vim-markdown/ftdetect/markdown.vim 051.242 004.264 004.264: sourcing /home/bferdinandy/.vim/plugged/vim-polyglot/extras/filetype.vim 052.651 021.599 011.406: sourcing /home/bferdinandy/.vim/plugged/vim-polyglot/autoload/polyglot/init.vim 052.660 021.889 000.290: sourcing /home/bferdinandy/.vim/plugged/vim-polyglot/filetype.vim 052.726 000.008 000.008: sourcing /usr/share/vim/vim90/filetype.vim 053.070 000.034 000.034: sourcing /usr/share/vim/vim90/ftplugin.vim 053.396 000.021 000.021: sourcing /usr/share/vim/vim90/indent.vim 053.826 000.035 000.035: sourcing /home/bferdinandy/.vim/plugged/promptline.vim/autoload/promptline/slices.vim 054.093 000.010 000.010: sourcing /home/bferdinandy/.vim/plugged/promptline.vim/autoload/promptline/slices/cwd.vim 054.361 000.027 000.027: sourcing /home/bferdinandy/.vim/plugged/promptline.vim/autoload/promptline/symbols.vim 054.691 000.024 000.024: sourcing /home/bferdinandy/.vim/plugged/promptline.vim/autoload/promptline/slices/vcs_branch.vim 055.028 000.009 000.009: sourcing /home/bferdinandy/.vim/plugged/promptline.vim/autoload/promptline/slices/last_exit_code.vim 056.218 000.874 000.874: sourcing /usr/share/vim/vim90/colors/lists/default.vim 056.973 000.103 000.103: sourcing /usr/share/vim/vim90/syntax/syncolor.vim 057.428 000.091 000.091: sourcing /usr/share/vim/vim90/syntax/syncolor.vim 057.779 000.067 000.067: sourcing /home/bferdinandy/.vim/plugged/dracula/autoload/dracula.vim 059.627 003.139 002.878: sourcing /home/bferdinandy/.vim/plugged/dracula/colors/dracula.vim 059.654 048.918 011.481: sourcing ~/.vim/vimrc 059.659 000.042: sourcing vimrc file(s) 059.910 000.088 000.088: sourcing /home/bferdinandy/.vim/plugin/hunmap.vim 059.963 000.046 000.046: sourcing /home/bferdinandy/.vim/plugin/mycommands.vim 060.338 000.369 000.369: sourcing /home/bferdinandy/.vim/plugin/settings.vim 060.959 000.071 000.071: sourcing /home/bferdinandy/.vim/plugged/ale/autoload/ale/events.vim 061.299 000.928 000.857: sourcing /home/bferdinandy/.vim/plugged/ale/plugin/ale.vim 061.533 000.108 000.108: sourcing /home/bferdinandy/.vim/plugged/coc.nvim/autoload/coc/rpc.vim 061.815 000.214 000.214: sourcing /home/bferdinandy/.vim/plugged/coc.nvim/autoload/coc/util.vim 062.082 000.144 000.144: sourcing /home/bferdinandy/.vim/plugged/coc.nvim/autoload/coc/client.vim 063.759 000.397 000.397: sourcing /home/bferdinandy/.vim/plugged/coc.nvim/autoload/coc/api.vim 064.579 003.248 002.385: sourcing /home/bferdinandy/.vim/plugged/coc.nvim/plugin/coc.vim 064.687 000.050 000.050: sourcing /home/bferdinandy/.vim/plugged/coc-fzf/plugin/coc_fzf.vim 064.935 000.218 000.218: sourcing /home/bferdinandy/.vim/plugged/vim-floaterm/plugin/floaterm.vim 065.696 000.660 000.660: sourcing /home/bferdinandy/.vim/plugged/fzf/plugin/fzf.vim 066.555 000.813 000.813: sourcing /home/bferdinandy/.vim/plugged/fzf.vim/plugin/fzf.vim 066.761 000.161 000.161: sourcing /home/bferdinandy/.vim/plugged/fzf-checkout.vim/plugin/fzf_checkout.vim 067.782 000.979 000.979: sourcing /home/bferdinandy/.vim/plugged/vim-fugitive/plugin/fugitive.vim 067.898 000.067 000.067: sourcing /home/bferdinandy/.vim/plugged/vim-fubitive/plugin/fubitive.vim 068.076 000.143 000.143: sourcing /home/bferdinandy/.vim/plugged/fugitive-gitlab.vim/plugin/gitlab.vim 068.252 000.144 000.144: sourcing /home/bferdinandy/.vim/plugged/vim-rhubarb/plugin/rhubarb.vim 068.311 000.022 000.022: sourcing /home/bferdinandy/.vim/plugged/srht.vim/plugin/srht.vim 068.359 000.020 000.020: sourcing /home/bferdinandy/.vim/plugged/vim-twiggy/plugin/twiggy.vim 068.494 000.097 000.097: sourcing /home/bferdinandy/.vim/plugged/vim-flog/plugin/flog.vim 068.615 000.113 000.113: sourcing /home/bferdinandy/.vim/plugged/vim-flog/plugin/flog_graph_vim.vim 068.958 000.126 000.126: sourcing /home/bferdinandy/.vim/plugged/vim-gitgutter/autoload/gitgutter/utility.vim 069.260 000.093 000.093: sourcing /home/bferdinandy/.vim/plugged/vim-gitgutter/autoload/gitgutter/highlight.vim 070.234 001.577 001.358: sourcing /home/bferdinandy/.vim/plugged/vim-gitgutter/plugin/gitgutter.vim 070.309 000.017 000.017: sourcing /home/bferdinandy/.vim/plugged/goyo.vim/plugin/goyo.vim 070.597 000.255 000.255: sourcing /home/bferdinandy/.vim/plugged/vim-tmux-navigator/plugin/tmux_navigator.vim 071.872 001.233 001.233: sourcing /home/bferdinandy/.vim/plugged/vim-sneak/plugin/sneak.vim 072.754 000.825 000.825: sourcing /home/bferdinandy/.vim/plugged/quick-scope/plugin/quick_scope.vim 073.016 000.204 000.204: sourcing /home/bferdinandy/.vim/plugged/vim-startuptime/plugin/startuptime.vim 074.400 001.345 001.345: sourcing /home/bferdinandy/.vim/plugged/vim-dispatch/plugin/dispatch.vim 074.715 000.096 000.096: sourcing /home/bferdinandy/.vim/plugged/vim-test/autoload/test.vim 075.712 001.267 001.171: sourcing /home/bferdinandy/.vim/plugged/vim-test/plugin/test.vim 076.007 000.214 000.214: sourcing /home/bferdinandy/.vim/plugged/vim-dadbod/plugin/dadbod.vim 076.307 000.261 000.261: sourcing /home/bferdinandy/.vim/plugged/vim-dadbod-ui/plugin/db_ui.vim 076.465 000.116 000.116: sourcing /home/bferdinandy/.vim/plugged/vim-dadbod-completion/plugin/vim_dadbod_completion.vim 076.901 000.401 000.401: sourcing /home/bferdinandy/.vim/plugged/diffchar.vim/plugin/diffchar.vim 077.593 000.168 000.168: sourcing /usr/share/vim/vim90/plugin/matchparen.vim 078.736 000.192 000.192: sourcing /home/bferdinandy/.vim/plugged/vim-matchup/autoload/matchup.vim 078.931 000.077 000.077: sourcing /home/bferdinandy/.vim/plugged/vim-matchup/autoload/matchup/perf.vim 079.526 000.278 000.278: sourcing /home/bferdinandy/.vim/plugged/vim-matchup/autoload/matchup/loader.vim 080.449 000.595 000.595: sourcing /home/bferdinandy/.vim/plugged/vim-matchup/autoload/matchup/matchparen.vim 081.573 004.625 003.315: sourcing /home/bferdinandy/.vim/plugged/vim-matchup/plugin/matchup.vim 081.837 000.212 000.212: sourcing /home/bferdinandy/.vim/plugged/targets.vim/plugin/targets.vim 082.617 000.572 000.572: sourcing /home/bferdinandy/.vim/plugged/vim-textobj-user/autoload/textobj/user.vim 083.869 001.972 001.400: sourcing /home/bferdinandy/.vim/plugged/vim-textobj-xmlattr/plugin/textobj/xmlattr.vim 084.087 000.160 000.160: sourcing /home/bferdinandy/.vim/plugged/vim-heritage/plugin/heritage.vim 084.288 000.163 000.163: sourcing /home/bferdinandy/.vim/plugged/vim-lastplace/plugin/vim-lastplace.vim 084.675 000.311 000.311: sourcing /home/bferdinandy/.vim/plugged/vim-sandwich/plugin/operator/sandwich.vim 084.981 000.296 000.296: sourcing /home/bferdinandy/.vim/plugged/vim-sandwich/plugin/sandwich.vim 085.132 000.141 000.141: sourcing /home/bferdinandy/.vim/plugged/vim-sandwich/plugin/textobj/sandwich.vim 085.527 000.265 000.265: sourcing /home/bferdinandy/.vim/plugged/vim-peekaboo/plugin/peekaboo.vim 086.318 000.748 000.748: sourcing /home/bferdinandy/.vim/plugged/vim-abolish/plugin/abolish.vim 087.174 000.816 000.816: sourcing /home/bferdinandy/.vim/plugged/vim-sleuth/plugin/sleuth.vim 087.763 000.554 000.554: sourcing /home/bferdinandy/.vim/plugged/vim-speeddating/plugin/speeddating.vim 087.988 000.178 000.178: sourcing /home/bferdinandy/.vim/plugged/vim-commentary/plugin/commentary.vim 088.350 000.309 000.309: sourcing /home/bferdinandy/.vim/plugged/vim-vinegar/plugin/vinegar.vim 088.417 000.024 000.024: sourcing /home/bferdinandy/.vim/plugged/vim-snippets/plugin/vimsnippets.vim 088.611 000.163 000.163: sourcing /home/bferdinandy/.vim/plugged/vim-slash/plugin/slash.vim 088.676 000.029 000.029: sourcing /home/bferdinandy/.vim/plugged/gundo.vim/plugin/gundo.vim 095.078 006.372 006.372: sourcing /home/bferdinandy/.vim/plugged/vim-unimpaired/plugin/unimpaired.vim 095.768 000.631 000.631: sourcing /home/bferdinandy/.vim/plugged/vim-eunuch/plugin/eunuch.vim 095.957 000.137 000.137: sourcing /home/bferdinandy/.vim/plugged/splitjoin.vim/plugin/splitjoin.vim 096.077 000.082 000.082: sourcing /home/bferdinandy/.vim/plugged/zoxide.vim/plugin/zoxide.vim 096.355 000.246 000.246: sourcing /home/bferdinandy/.vim/plugged/vim-rooter/plugin/rooter.vim 096.415 000.021 000.021: sourcing /home/bferdinandy/.vim/plugged/vim-backscratch/plugin/backscratch.vim 096.487 000.021 000.021: sourcing /home/bferdinandy/.vim/plugged/SimpylFold/plugin/SimpylFold.vim 096.721 000.198 000.198: sourcing /home/bferdinandy/.vim/plugged/jupyter_ascending.vim/plugin/jupyter_ascending.vim 097.001 000.247 000.247: sourcing /home/bferdinandy/.vim/plugged/jupytext.vim/plugin/jupytext.vim 097.590 000.545 000.545: sourcing /home/bferdinandy/.vim/plugged/FastFold/plugin/fastfold.vim 097.854 000.219 000.219: sourcing /home/bferdinandy/.vim/plugged/LargeFile/plugin/LargeFile.vim 098.156 000.254 000.254: sourcing /home/bferdinandy/.vim/plugged/vim-gutentags/plugin/gutentags.vim 099.030 000.842 000.842: sourcing /home/bferdinandy/.vim/plugged/tagbar/plugin/tagbar.vim 099.570 000.069 000.069: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/init.vim 100.374 000.370 000.370: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/parts.vim 100.756 000.008 000.008: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/formatter/short_path.vim 101.916 000.118 000.118: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/util.vim 102.001 002.917 002.352: sourcing /home/bferdinandy/.vim/plugged/vim-airline/plugin/airline.vim 102.078 000.028 000.028: sourcing /home/bferdinandy/.vim/plugged/vim-airline-themes/plugin/airline-themes.vim 102.146 000.032 000.032: sourcing /home/bferdinandy/.vim/plugged/promptline.vim/plugin/promptline.vim 102.240 000.061 000.061: sourcing /home/bferdinandy/.vim/plugged/tmuxline.vim/plugin/tmuxline.vim 103.116 000.123 000.123: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline.vim 104.232 001.958 001.835: sourcing /home/bferdinandy/.vim/plugged/vim-devicons/plugin/webdevicons.vim 104.523 000.239 000.239: sourcing /home/bferdinandy/.vim/plugged/vim-auto-save/plugin/AutoSave.vim 104.709 000.148 000.148: sourcing /home/bferdinandy/.vim/plugged/vim-easy-align/plugin/easy_align.vim 104.917 000.172 000.172: sourcing /home/bferdinandy/.vim/plugged/vim-obsession/plugin/obsession.vim 105.082 000.125 000.125: sourcing /home/bferdinandy/.vim/plugged/vim-swap/plugin/swap.vim 105.920 000.803 000.803: sourcing /home/bferdinandy/.vim/plugged/vimspector/plugin/vimspector.vim 106.675 000.111 000.111: sourcing /home/bferdinandy/.vim/plugged/vimspectorpy/autoload/vimspectorpy.vim 106.748 000.777 000.666: sourcing /home/bferdinandy/.vim/plugged/vimspectorpy/plugin/vimspectorpy.vim 106.821 000.026 000.026: sourcing /home/bferdinandy/.vim/plugged/vimtex/plugin/vimtex.vim 107.107 000.230 000.230: sourcing /home/bferdinandy/.vim/plugged/tabular/plugin/Tabular.vim 107.256 000.073 000.073: sourcing /home/bferdinandy/.vim/plugged/bibtexcite.vim/plugin/bibtexcite.vim 107.608 000.300 000.300: sourcing /home/bferdinandy/.vim/plugged/cetli.vim/plugin/cetli.vim 107.743 000.081 000.081: sourcing /home/bferdinandy/.vim/plugged/loremipsum/plugin/loremipsum.vim 108.916 000.647 000.647: sourcing /home/bferdinandy/.vim/plugged/vimwiki/autoload/vimwiki/vars.vim 110.374 000.184 000.184: sourcing /home/bferdinandy/.vim/plugged/vimwiki/autoload/vimwiki/u.vim 115.391 000.044 000.044: sourcing /home/bferdinandy/.vim/plugged/vimwiki/autoload/vimwiki/markdown_base.vim 115.951 002.444 002.400: sourcing /home/bferdinandy/.vim/plugged/vimwiki/autoload/vimwiki/base.vim 116.401 000.129 000.129: sourcing /home/bferdinandy/.vim/plugged/vimwiki/autoload/vimwiki/path.vim 121.280 013.498 010.094: sourcing /home/bferdinandy/.vim/plugged/vimwiki/plugin/vimwiki.vim 121.398 000.052 000.052: sourcing /home/bferdinandy/.vim/plugged/vim-zettel/plugin/zettel.vim 121.544 000.084 000.084: sourcing /home/bferdinandy/.vim/plugged/vim-polyglot/plugin/polyglot.vim 121.728 000.058 000.058: sourcing /usr/share/vim/vim90/plugin/getscriptPlugin.vim 122.007 000.267 000.267: sourcing /usr/share/vim/vim90/plugin/gzip.vim 122.195 000.168 000.168: sourcing /usr/share/vim/vim90/plugin/logiPat.vim 122.234 000.022 000.022: sourcing /usr/share/vim/vim90/plugin/manpager.vim 122.253 000.009 000.009: sourcing /usr/share/vim/vim90/plugin/matchparen.vim 122.986 000.723 000.723: sourcing /usr/share/vim/vim90/plugin/netrwPlugin.vim 123.040 000.029 000.029: sourcing /usr/share/vim/vim90/plugin/rrhelper.vim 123.076 000.020 000.020: sourcing /usr/share/vim/vim90/plugin/spellfile.vim 123.298 000.207 000.207: sourcing /usr/share/vim/vim90/plugin/tarPlugin.vim 123.406 000.090 000.090: sourcing /usr/share/vim/vim90/plugin/tohtml.vim 123.634 000.216 000.216: sourcing /usr/share/vim/vim90/plugin/vimballPlugin.vim 123.892 000.232 000.232: sourcing /usr/share/vim/vim90/plugin/zipPlugin.vim 123.901 003.935: loading plugins 123.976 000.075: loading packages 124.992 000.855 000.855: sourcing /home/bferdinandy/.vim/plugged/fzf.vim/autoload/fzf/vim.vim 125.332 001.257 000.402: sourcing /home/bferdinandy/.vim/plugged/coc-fzf/after/plugin/coc_fzf.vim 125.416 000.009 000.009: sourcing /home/bferdinandy/.vim/plugged/vim-dadbod-completion/after/plugin/vim_dadbod_completion.vim 125.612 000.003 000.003: sourcing /home/bferdinandy/.vim/plugged/vim-matchup/after/plugin/matchit.vim 125.841 000.145 000.145: sourcing /home/bferdinandy/.vim/plugged/dracula/after/plugin/dracula.vim 126.458 000.172 000.172: sourcing /home/bferdinandy/.vim/plugged/tabular/autoload/tabular.vim 127.728 001.833 001.661: sourcing /home/bferdinandy/.vim/plugged/tabular/after/plugin/TabularMaps.vim 128.609 000.818 000.818: sourcing /home/bferdinandy/.vim/after/plugin/maps.vim 128.612 000.571: loading after plugins 128.629 000.017: inits 3 129.729 001.100: reading viminfo 131.540 001.811: setup clipboard 131.569 000.029: setting raw mode 131.573 000.004: start termcap 131.612 000.039: clearing screen 132.752 000.127 000.127: sourcing /home/bferdinandy/.vim/plugged/ale/autoload/ale.vim 133.688 000.066 000.066: sourcing /home/bferdinandy/.vim/plugged/vim-matchup/autoload/matchup/re.vim 134.576 000.246 000.246: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions.vim 134.963 000.060 000.060: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/quickfix.vim 135.336 000.022 000.022: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/netrw.vim 135.706 000.030 000.030: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/fzf.vim 136.590 000.076 000.076: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/term.vim 136.991 000.066 000.066: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/hunks.vim 137.340 000.036 000.036: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tagbar.vim 137.894 000.159 000.159: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/branch.vim 138.291 000.038 000.038: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/fugitiveline.vim 138.729 000.062 000.062: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/ale.vim 139.374 000.030 000.030: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/coc.vim 139.785 000.077 000.077: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/whitespace.vim 140.271 000.046 000.046: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/po.vim 140.629 000.064 000.064: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/wordcount.vim 141.126 000.189 000.189: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tabline.vim 141.534 000.034 000.034: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tabline/autoshow.vim 142.068 000.073 000.073: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tabline/tabs.vim 142.594 000.108 000.108: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tabline/buffers.vim 143.061 000.025 000.025: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tmuxline.vim 143.388 000.013 000.013: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/gutentags.vim 143.712 000.017 000.017: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/keymap.vim 144.050 000.040 000.040: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/obsession.vim 144.759 000.408 000.408: sourcing /home/bferdinandy/.vim/plugged/vimtex/autoload/vimtex.vim 145.208 000.159 000.159: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/vimtex.vim 145.791 000.052 000.052: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/searchcount.vim 148.549 000.048 000.048: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/section.vim 149.176 000.290 000.290: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/highlighter.vim 152.331 000.072 000.072: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/themes.vim 153.114 001.195 001.123: sourcing /home/bferdinandy/.vim/plugged/dracula/autoload/airline/themes/dracula.vim 157.293 000.823 000.823: sourcing /home/bferdinandy/.vim/plugged/dracula/autoload/airline/themes/dracula.vim 160.262 000.016 000.016: sourcing /home/bferdinandy/.vim/plugged/tmuxline.vim/autoload/tmuxline/api.vim 160.608 000.090 000.090: sourcing /home/bferdinandy/.vim/plugged/tmuxline.vim/autoload/tmuxline/util.vim 161.043 000.105 000.105: sourcing /home/bferdinandy/.vim/plugged/tmuxline.vim/autoload/tmuxline.vim 161.380 000.014 000.014: sourcing /home/bferdinandy/.vim/plugged/tmuxline.vim/autoload/tmuxline/presets/powerline.vim 161.697 000.053 000.053: sourcing /home/bferdinandy/.vim/plugged/tmuxline.vim/autoload/tmuxline/builder.vim 174.318 000.198 000.198: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/builder.vim 175.134 000.064 000.064: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/default.vim 177.181 000.440 000.440: sourcing /home/bferdinandy/.vim/plugged/vim-gitgutter/autoload/gitgutter/hunk.vim 180.812 000.526 000.526: sourcing /home/bferdinandy/.vim/plugged/ale/autoload/ale/engine.vim 181.015 000.092 000.092: sourcing /home/bferdinandy/.vim/plugged/ale/autoload/ale/statusline.vim 188.947 051.058: opening buffers 189.276 000.122 000.122: sourcing /home/bferdinandy/.vim/plugged/vim-gitgutter/autoload/gitgutter.vim 190.127 000.134 000.134: sourcing /home/bferdinandy/.vim/plugged/vim-peekaboo/autoload/peekaboo.vim 191.023 001.820: BufEnter autocommands 191.025 000.002: editing files in windows 192.100 000.365 000.365: sourcing /home/bferdinandy/.vim/plugged/coc.nvim/autoload/coc/highlight.vim 192.570 000.402 000.402: sourcing /home/bferdinandy/.vim/plugged/coc.nvim/autoload/coc/color.vim 200.234 000.357 000.357: sourcing /home/bferdinandy/.vim/plugged/vim-gutentags/autoload/gutentags.vim 200.568 008.419: VimEnter autocommands 200.570 000.002: before starting main loop 200.733 000.121 000.121: sourcing /home/bferdinandy/.vim/plugged/ale/autoload/ale/cursor.vim 201.095 000.099 000.099: sourcing /home/bferdinandy/.vim/plugged/vim-matchup/autoload/matchup/pos.vim 201.954 000.077 000.077: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tabline/ctrlspace.vim 202.346 000.067 000.067: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tabline/tabws.vim 203.484 000.175 000.175: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tabline/builder.vim 203.945 000.041 000.041: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tabline/buflist.vim 205.856 000.016 000.016: sourcing /home/bferdinandy/.vim/plugged/vim-devicons/autoload/airline/extensions/tabline/formatters/webdevicons.vim 206.322 000.061 000.061: sourcing /home/bferdinandy/.vim/plugged/vim-airline/autoload/airline/extensions/tabline/formatters/default.vim 210.497 001.534 001.534: sourcing /home/bferdinandy/.vim/plugged/tagbar/autoload/tagbar.vim 210.876 000.040 000.040: sourcing /home/bferdinandy/.vim/plugged/tagbar/autoload/tagbar/debug.vim 521.208 000.276 000.276: sourcing /home/bferdinandy/.vim/plugged/tagbar/autoload/tagbar/types/uctags.vim 521.514 000.025 000.025: sourcing /home/bferdinandy/.vim/plugged/tagbar/autoload/tagbar/prototypes/typeinfo.vim 892.096 688.994: first screen update 892.099 000.003: --- VIM STARTED ---

fbence
  • 677
  • 4
  • 12
  • 2
    Prefer vim --clean to vim -u NONE. And I donno how to find the root cause. The source code doesn't break screen update process down, afa I see: http://github.com/vim/vim/blob/478668013f060a75b8cd8cc6ca2cf2abb3bcc4a5/src/main.c#L1498-L1504 – 3N4N Aug 23 '23 at 03:52
  • Thanks for the link, it does look like this is as detailed as I'm going to get with reporting. – fbence Aug 23 '23 at 08:41
  • 2
    Not relevant, but I see some autoload files in your startuptime. That’s going to cost you when they could be run later (on-demand by the autoload mechanism). So maybe delay doing anything with Tagbar? It would be helpful to have the full startuptime report. – D. Ben Knoble Aug 23 '23 at 12:52
  • @D.BenKnoble They're going to be pretty long, should I edit them into the question? – fbence Aug 23 '23 at 15:33
  • 1
    @fbence yes, please [edit]. – D. Ben Knoble Aug 24 '23 at 13:26
  • The full output of the startuptime plugin didn't fit inside, so I left it out. It got twice as fast since yesterday, although first screen update is still taking around 70% of the time. – fbence Aug 24 '23 at 14:10
  • 1
    I would try to find out why the tagbar/debug.vim is run. It seems to take 300 ms alone. – Christian Brabandt Aug 24 '23 at 17:34
  • yeah, that "debug" also sounds fishy :) – fbence Aug 24 '23 at 21:51

1 Answers1

-1

I would try vim-startuptime

Once installed the :StartupTime command gives you an analysis of what takes time when Vim starts.

Here is an excerpt of the result for my configuration:

       startup: 1028.0
event                  time percent plot
_vimrc               206.00   20.04 ██████████████████████████
VimEnter autocommand 188.00   18.29 ████████████████████████
python_vimisort.vim  132.00   12.84 ████████████████▌
starting GUI         126.00   12.26 ████████████████
loading plugins       63.00    6.13 ████████
project.vim           58.00    5.64 ███████▌
path.vim              46.00    4.47 ██████
vimwiki.vim           33.00    3.21 ████
BufEnter autocommand  31.00    3.02 ████
lh-project.vim        26.00    2.53 ███
clap.vim              22.00    2.14 ███
filetype.vim          20.00    1.95 ██▌
filetype.vim          18.00    1.75 ██
nord.vim              17.00    1.65 ██

In particular it gives indications for every plugins helping you to find the culprit.

Vivian De Smedt
  • 16,336
  • 3
  • 18
  • 37
  • 1
    Thanks, but I already did that, I just messed up the name of the plugin, but the first report is from there. I'll update the question though. – fbence Aug 23 '23 at 08:33
  • Thanks for feedback. I have been misled because I missed the first screen update event :-| – Vivian De Smedt Aug 23 '23 at 09:34