Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Vim (vim + nvim) sources files multiple times

When investigating the vim startup time with --startup option, I see lots of files are sourced multiple times.

Could anyone explain to me why?

After vim --startuptime vim-startup then sort -k 4 vim-startup, scroll to end of output. There are many line sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim are repeated

717.204  000.149  000.149: sourcing /usr/local/share/vim/vim74/plugin/getscriptPlugin.vim
717.635  000.394  000.394: sourcing /usr/local/share/vim/vim74/plugin/gzip.vim
718.072  000.400  000.400: sourcing /usr/local/share/vim/vim74/plugin/logiPat.vim
718.416  000.305  000.305: sourcing /usr/local/share/vim/vim74/plugin/matchparen.vim
719.372  000.917  000.917: sourcing /usr/local/share/vim/vim74/plugin/netrwPlugin.vim
719.480  000.058  000.058: sourcing /usr/local/share/vim/vim74/plugin/rrhelper.vim
719.596  000.074  000.074: sourcing /usr/local/share/vim/vim74/plugin/spellfile.vim
719.883  000.248  000.248: sourcing /usr/local/share/vim/vim74/plugin/tarPlugin.vim
720.119  000.192  000.192: sourcing /usr/local/share/vim/vim74/plugin/tohtml.vim
720.451  000.290  000.290: sourcing /usr/local/share/vim/vim74/plugin/vimballPlugin.vim
720.828  000.325  000.325: sourcing /usr/local/share/vim/vim74/plugin/zipPlugin.vim
288.036  000.351  000.351: sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim
355.569  000.211  000.211: sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim
358.687  000.412  000.412: sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim
403.346  000.541  000.541: sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim
406.806  000.277  000.277: sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim
416.571  000.370  000.370: sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim
419.967  000.456  000.456: sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim
429.839  000.280  000.280: sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim
433.602  000.382  000.382: sourcing /usr/local/share/vim/vim74/syntax/syncolor.vim
289.756  004.047  003.696: sourcing /usr/local/share/vim/vim74/syntax/synload.vim
413.308  013.091  001.653: sourcing /usr/local/share/vim/vim74/syntax/synload.vim
289.809  005.994  001.947: sourcing /usr/local/share/vim/vim74/syntax/syntax.vim
413.370  015.529  001.789: sourcing /usr/local/share/vim/vim74/syntax/syntax.vim
1240.101  000.004: before starting main loop
737.049  000.020: start termcap
736.993  000.202: reading viminfo
442.780  000.558: sourcing vimrc file(s)

Could anyone explain to me why vim needs to source one file multiple times or how can I force it to load once?

Here are full output of vim --startup: before and after sort, nvim --startuptime: before and after sort

like image 223
transang Avatar asked Oct 30 '22 07:10

transang


2 Answers

Looking at your vim --startup output, it looks like many other scripts are loaded multiple times. The script below, for example, is sourced four times:

/Users/nissassin17/.vim/bundle/xptemplate/plugin/classes/FiletypeScope.vim

and there are many others.

You also seem to be loading the original solarized colorscheme three times and the "base-16" variant after that which makes no sense at all and would probably count as a cause for the multiple sourcing of /usr/local/share/vim/vim74/syntax/syntax.vim.

I can't go further without seeing your vimrc but I'd suggest deleting the content of ~/.vim/bundle/and starting over.

Maybe with less plugins?

like image 136
romainl Avatar answered Nov 27 '22 02:11

romainl


Another reason for vim/neovim to load colorscheme twice is if you have syntax on after colorscheme myscheme in your vimrc. Solution: switch them around.

like image 45
DrGo Avatar answered Nov 27 '22 04:11

DrGo