tpope / vim-rails

rails.vim: Ruby on Rails power tools
http://www.vim.org/scripts/script.php?script_id=1567
4.09k stars 381 forks source link

Slow vim startup when combined with vim-bundler #581

Closed mmrwoods closed 2 years ago

mmrwoods commented 2 years ago

With both vim-rails and vim-bundler plugins installed, opening vim from a rails project without providing a file to edit is almost as slow as opening Gemfile. On a legacy rails 5 project with many gem dependencies, this takes a few seconds (for me).

The slow startup process within vim-bundler is hard to avoid, but vim-bundler supposedly only cares about the current file, not the current working directory; it's only when combined with vim-rails that it seems to affect vim startup in general.

I do realise slow startup times have been reported before, both here and for vim-bundler, but I haven't noticed anything which refers specifically to the combination of the two being the cause of the problem. Please forgive me if I've missed something which already covers this, and also feel free to ignore this and tell me that's just how it works.

The slow startup seems to be caused by the VimEnter autocmd within vim-rails. This calls rails#buffer_setup(), which leads to bundler#project(self.path()).paths() being called to find the gems, which reads and parses Gemfile.lock and shells out to get the ruby ABI version.

All this takes time, as expected and documented in tpope/vim-bundler#38, but I wonder it it could be avoided on VimEnter, except where the file being opened is a file covered by Gemfile?

mmrwoods commented 2 years ago

FWIW, here are some startup time logs (note the changes in time taken to process VimEnter autocmds)...

Normal vim startup time log, all my usual plugins:

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

000.009  000.009: --- VIM STARTING ---
000.116  000.107: Allocated generic buffers
000.278  000.162: locale set
000.290  000.012: GUI prepared
000.292  000.002: clipboard setup
000.299  000.007: window checked
001.013  000.714: inits 1
001.024  000.011: parsing arguments
004.462  003.438: expanding arguments
009.270  004.808: shell init
009.994  000.724: Termcap init
010.032  000.038: inits 2
013.246  003.214: init highlight
014.147  000.666  000.666: sourcing $VIM/vimrc
015.744  000.956  000.956: sourcing /Users/mwoods/.vim/autoload/pathogen.vim
027.306  000.815  000.815: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
027.395  003.481  002.666: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/macros/matchit.vim
030.366  000.801  000.801: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
030.646  002.103  001.302: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/synload.vim
039.980  000.333  000.333: sourcing /Users/mwoods/.vim/bundle/actionscript/ftdetect/actionscript.vim
040.585  000.318  000.318: sourcing /Users/mwoods/.vim/bundle/coffee-script/ftdetect/coffee.vim
040.986  000.294  000.294: sourcing /Users/mwoods/.vim/bundle/coffee-script/ftdetect/vim-literate-coffeescript.vim
042.898  000.285  000.285: sourcing /Users/mwoods/.vim/bundle/fugitive/ftdetect/fugitive.vim
043.771  000.632  000.632: sourcing /Users/mwoods/.vim/bundle/go/ftdetect/gofiletype.vim
044.249  000.299  000.299: sourcing /Users/mwoods/.vim/bundle/haml/ftdetect/haml.vim
044.725  000.249  000.249: sourcing /Users/mwoods/.vim/bundle/javascript/ftdetect/flow.vim
045.171  000.339  000.339: sourcing /Users/mwoods/.vim/bundle/javascript/ftdetect/javascript.vim
045.706  000.316  000.316: sourcing /Users/mwoods/.vim/bundle/jsx/ftdetect/javascript.vim
046.302  000.301  000.301: sourcing /Users/mwoods/.vim/bundle/rdoc/ftdetect/rdoc.vim
046.782  000.277  000.277: sourcing /Users/mwoods/.vim/bundle/scala/ftdetect/scala.vim
047.371  000.281  000.281: sourcing /Users/mwoods/.vim/bundle/typescript/ftdetect/typescript.vim
047.776  016.449  012.525: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
050.152  001.258  001.258: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/scripts.vim
050.428  022.907  003.097: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syntax.vim
051.132  000.019  000.019: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
052.279  000.388  000.388: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/ftplugin.vim
053.461  000.342  000.342: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/indent.vim
054.895  000.251  000.251: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
093.285  000.260  000.260: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
094.377  000.233  000.233: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
097.562  042.320  041.827: sourcing /Users/mwoods/.vim/bundle/colors-solarized/colors/solarized.vim
101.673  000.393  000.393: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/autoload/paste.vim
102.413  088.113  017.056: sourcing $HOME/.vimrc
102.426  000.401: sourcing vimrc file(s)
104.232  000.554  000.554: sourcing /Users/mwoods/.vim/bundle/ack/plugin/ack.vim
105.683  001.031  001.031: sourcing /Users/mwoods/.vim/bundle/autoswap/plugin/autoswap.vim
106.500  000.426  000.426: sourcing /Users/mwoods/.vim/bundle/bracketed-paste/plugin/bracketed-paste.vim
109.796  002.918  002.918: sourcing /Users/mwoods/.vim/bundle/bufexplorer/plugin/bufexplorer.vim
112.023  001.783  001.783: sourcing /Users/mwoods/.vim/bundle/bundler/plugin/bundler.vim
112.708  000.438  000.438: sourcing /Users/mwoods/.vim/bundle/colorizer/plugin/colorizer.vim
113.583  000.583  000.583: sourcing /Users/mwoods/.vim/bundle/commentary/plugin/commentary.vim
117.221  001.370  001.370: sourcing /Users/mwoods/.vim/bundle/delimitMate/autoload/delimitMate.vim
120.534  006.605  005.235: sourcing /Users/mwoods/.vim/bundle/delimitMate/plugin/delimitMate.vim
122.048  000.819  000.819: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip.vim
123.698  001.358  001.358: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Paste.vim
125.658  000.478  000.478: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Move.vim
126.987  000.844  000.844: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Substitute.vim
128.235  000.953  000.953: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Yank.vim
129.351  000.345  000.345: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Shared.vim
129.951  000.317  000.317: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/BlackHole.vim
132.365  011.605  006.491: sourcing /Users/mwoods/.vim/bundle/easyclip/plugin/EasyClip.vim
133.912  001.306  001.306: sourcing /Users/mwoods/.vim/bundle/editorconfig/plugin/editorconfig.vim
135.485  001.326  001.326: sourcing /Users/mwoods/.vim/bundle/endwise/plugin/endwise.vim
137.343  001.518  001.518: sourcing /Users/mwoods/.vim/bundle/eunuch/plugin/eunuch.vim
140.385  002.816  002.816: sourcing /Users/mwoods/.vim/bundle/fugitive/plugin/fugitive.vim
142.472  001.847  001.847: sourcing /Users/mwoods/.vim/bundle/fzf/plugin/fzf.vim
144.919  002.205  002.205: sourcing /Users/mwoods/.vim/bundle/fzf.vim/plugin/fzf.vim
145.470  000.312  000.312: sourcing /Users/mwoods/.vim/bundle/gist/plugin/gist.vim
147.253  000.736  000.736: sourcing /Users/mwoods/.vim/bundle/gitgutter/autoload/gitgutter/utility.vim
148.958  000.695  000.695: sourcing /Users/mwoods/.vim/bundle/gitgutter/autoload/gitgutter/highlight.vim
150.972  005.260  003.829: sourcing /Users/mwoods/.vim/bundle/gitgutter/plugin/gitgutter.vim
153.915  001.760  001.760: sourcing /Users/mwoods/.vim/bundle/go/autoload/go/config.vim
157.203  001.653  001.653: sourcing /Users/mwoods/.vim/bundle/go/autoload/go/util.vim
157.253  006.036  002.623: sourcing /Users/mwoods/.vim/bundle/go/plugin/go.vim
157.921  000.314  000.314: sourcing /Users/mwoods/.vim/bundle/mkdir/plugin/mkdir.vim
158.470  000.302  000.302: sourcing /Users/mwoods/.vim/bundle/most-minimal-folds/plugin/most_minimal_folds.vim
160.539  001.821  001.821: sourcing /Users/mwoods/.vim/bundle/mru/plugin/mru.vim
162.958  000.803  000.803: sourcing /Users/mwoods/.vim/bundle/nerdtree/autoload/nerdtree.vim
166.860  002.829  002.829: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/path.vim
168.251  000.898  000.898: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/menu_controller.vim
169.229  000.486  000.486: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/menu_item.vim
170.755  000.838  000.838: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/key_map.vim
172.440  001.218  001.218: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/bookmark.vim
174.517  001.595  001.595: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/tree_file_node.vim
176.471  001.439  001.439: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/tree_dir_node.vim
177.723  000.793  000.793: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/opener.vim
178.948  000.753  000.753: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/creator.vim
179.679  000.242  000.242: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/flag_set.vim
180.754  000.540  000.540: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/nerdtree.vim
182.160  000.973  000.973: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/ui.vim
182.909  000.207  000.207: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/event.vim
183.719  000.258  000.258: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/notifier.vim
185.679  001.423  001.423: sourcing /Users/mwoods/.vim/bundle/nerdtree/autoload/nerdtree/ui_glue.vim
190.565  000.587  000.587: sourcing /Users/mwoods/.vim/bundle/nerdtree/nerdtree_plugin/exec_menuitem.vim
193.843  003.016  003.016: sourcing /Users/mwoods/.vim/bundle/nerdtree/nerdtree_plugin/fs_menu.vim
194.534  000.473  000.473: sourcing /Users/mwoods/.vim/bundle/nerdtree/nerdtree_plugin/vcs.vim
196.780  036.009  016.638: sourcing /Users/mwoods/.vim/bundle/nerdtree/plugin/NERD_tree.vim
201.985  001.217  001.217: sourcing /Users/mwoods/.vim/bundle/PreserveNoEOL/autoload/escapings.vim
202.520  005.181  003.964: sourcing /Users/mwoods/.vim/bundle/PreserveNoEOL/plugin/PreserveNoEOL.vim
204.802  001.850  001.850: sourcing /Users/mwoods/.vim/bundle/qf/plugin/qf.vim
207.933  002.750  002.750: sourcing /Users/mwoods/.vim/bundle/rails/plugin/rails.vim
208.935  000.518  000.518: sourcing /Users/mwoods/.vim/bundle/scala/plugin/scala.vim
210.891  001.577  001.577: sourcing /Users/mwoods/.vim/bundle/schlepp/plugin/schlepp.vim
211.665  000.536  000.536: sourcing /Users/mwoods/.vim/bundle/scratch/plugin/scratch.vim
213.002  000.942  000.942: sourcing /Users/mwoods/.vim/bundle/securemodelines/plugin/securemodelines.vim
214.477  000.906  000.906: sourcing /Users/mwoods/.vim/bundle/sessionman/plugin/sessionman.vim
215.409  000.691  000.691: sourcing /Users/mwoods/.vim/bundle/spacehi/plugin/spacehi.vim
217.723  002.064  002.064: sourcing /Users/mwoods/.vim/bundle/supertab/plugin/supertab.vim
219.698  001.722  001.722: sourcing /Users/mwoods/.vim/bundle/surround/plugin/surround.vim
222.224  002.259  002.259: sourcing /Users/mwoods/.vim/bundle/tagbar/plugin/tagbar.vim
223.834  001.326  001.326: sourcing /Users/mwoods/.vim/bundle/vinegar/plugin/vinegar.vim
224.605  000.382  000.382: sourcing /Users/mwoods/.vim/bundle/window-mode/plugin/window_mode.vim
225.140  000.292  000.292: sourcing /Users/mwoods/.vim/bundle/wipeout/plugin/wipeout.vim
225.809  000.400  000.400: sourcing /Users/mwoods/.vim/bundle/ZoomWin/plugin/ZoomWinPlugin.vim
227.098  000.331  000.331: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/getscriptPlugin.vim
227.912  000.689  000.689: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/gzip.vim
228.895  000.854  000.854: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/logiPat.vim
229.400  000.378  000.378: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/manpager.vim
230.457  000.919  000.919: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/matchparen.vim
232.508  001.848  001.848: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/netrwPlugin.vim
233.082  000.382  000.382: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/rrhelper.vim
233.598  000.313  000.313: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/spellfile.vim
234.590  000.788  000.788: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/tarPlugin.vim
235.801  000.999  000.999: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/tohtml.vim
236.728  000.723  000.723: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/vimballPlugin.vim
237.465  000.595  000.595: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/zipPlugin.vim
237.788  000.035  000.035: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
237.800  016.109: loading plugins
237.935  000.135: loading packages
238.172  000.237: loading after plugins
238.179  000.007: inits 3
242.490  004.311: reading viminfo
242.551  000.061: setting raw mode
242.572  000.021: start termcap
242.594  000.022: clearing screen
242.760  000.166: opening buffers
248.926  000.926  000.926: sourcing /Users/mwoods/.vim/bundle/gitgutter/autoload/gitgutter.vim
249.048  005.362: BufEnter autocommands
249.053  000.005: editing files in windows
261.950  010.858  010.858: sourcing /Users/mwoods/.vim/bundle/rails/autoload/rails.vim
627.327  367.416: VimEnter autocommands
627.331  000.004: before starting main loop
628.907  001.576: first screen update
628.909  000.002: --- VIM STARTED ---

Vim startup time log, vim-bundler plugin removed:

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

000.008  000.008: --- VIM STARTING ---
000.111  000.103: Allocated generic buffers
000.281  000.170: locale set
000.292  000.011: GUI prepared
000.295  000.003: clipboard setup
000.302  000.007: window checked
001.021  000.719: inits 1
001.033  000.012: parsing arguments
004.469  003.436: expanding arguments
007.406  002.937: shell init
007.803  000.397: Termcap init
007.839  000.036: inits 2
009.793  001.954: init highlight
010.203  000.276  000.276: sourcing $VIM/vimrc
010.702  000.295  000.295: sourcing /Users/mwoods/.vim/autoload/pathogen.vim
021.306  000.352  000.352: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
021.373  002.838  002.486: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/macros/matchit.vim
023.141  000.295  000.295: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
023.382  001.196  000.901: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/synload.vim
031.308  000.018  000.018: sourcing /Users/mwoods/.vim/bundle/actionscript/ftdetect/actionscript.vim
031.606  000.063  000.063: sourcing /Users/mwoods/.vim/bundle/coffee-script/ftdetect/coffee.vim
031.700  000.026  000.026: sourcing /Users/mwoods/.vim/bundle/coffee-script/ftdetect/vim-literate-coffeescript.vim
031.979  000.017  000.017: sourcing /Users/mwoods/.vim/bundle/fugitive/ftdetect/fugitive.vim
032.433  000.255  000.255: sourcing /Users/mwoods/.vim/bundle/go/ftdetect/gofiletype.vim
032.617  000.038  000.038: sourcing /Users/mwoods/.vim/bundle/haml/ftdetect/haml.vim
032.815  000.015  000.015: sourcing /Users/mwoods/.vim/bundle/javascript/ftdetect/flow.vim
032.922  000.041  000.041: sourcing /Users/mwoods/.vim/bundle/javascript/ftdetect/javascript.vim
033.141  000.063  000.063: sourcing /Users/mwoods/.vim/bundle/jsx/ftdetect/javascript.vim
033.399  000.017  000.017: sourcing /Users/mwoods/.vim/bundle/rdoc/ftdetect/rdoc.vim
033.595  000.040  000.040: sourcing /Users/mwoods/.vim/bundle/scala/ftdetect/scala.vim
033.875  000.024  000.024: sourcing /Users/mwoods/.vim/bundle/typescript/ftdetect/typescript.vim
034.279  010.252  009.635: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
035.964  000.681  000.681: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/scripts.vim
036.190  014.694  002.565: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syntax.vim
036.833  000.018  000.018: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
037.769  000.060  000.060: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/ftplugin.vim
038.549  000.051  000.051: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/indent.vim
039.864  000.241  000.241: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
074.852  000.271  000.271: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
075.917  000.227  000.227: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
078.810  038.611  038.113: sourcing /Users/mwoods/.vim/bundle/colors-solarized/colors/solarized.vim
080.886  000.043  000.043: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/autoload/paste.vim
081.252  070.952  014.101: sourcing $HOME/.vimrc
081.258  000.237: sourcing vimrc file(s)
081.926  000.193  000.193: sourcing /Users/mwoods/.vim/bundle/ack/plugin/ack.vim
082.377  000.230  000.230: sourcing /Users/mwoods/.vim/bundle/autoswap/plugin/autoswap.vim
082.676  000.099  000.099: sourcing /Users/mwoods/.vim/bundle/bracketed-paste/plugin/bracketed-paste.vim
084.226  001.355  001.355: sourcing /Users/mwoods/.vim/bundle/bufexplorer/plugin/bufexplorer.vim
084.638  000.136  000.136: sourcing /Users/mwoods/.vim/bundle/colorizer/plugin/colorizer.vim
085.100  000.235  000.235: sourcing /Users/mwoods/.vim/bundle/commentary/plugin/commentary.vim
086.438  000.469  000.469: sourcing /Users/mwoods/.vim/bundle/delimitMate/autoload/delimitMate.vim
089.626  004.327  003.858: sourcing /Users/mwoods/.vim/bundle/delimitMate/plugin/delimitMate.vim
090.325  000.226  000.226: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip.vim
091.134  000.577  000.577: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Paste.vim
092.475  000.222  000.222: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Move.vim
093.172  000.264  000.264: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Substitute.vim
093.852  000.451  000.451: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Yank.vim
094.575  000.096  000.096: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Shared.vim
094.868  000.060  000.060: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/BlackHole.vim
097.224  007.363  005.467: sourcing /Users/mwoods/.vim/bundle/easyclip/plugin/EasyClip.vim
098.000  000.564  000.564: sourcing /Users/mwoods/.vim/bundle/editorconfig/plugin/editorconfig.vim
098.618  000.412  000.412: sourcing /Users/mwoods/.vim/bundle/endwise/plugin/endwise.vim
099.625  000.805  000.805: sourcing /Users/mwoods/.vim/bundle/eunuch/plugin/eunuch.vim
101.737  001.906  001.906: sourcing /Users/mwoods/.vim/bundle/fugitive/plugin/fugitive.vim
102.805  000.858  000.858: sourcing /Users/mwoods/.vim/bundle/fzf/plugin/fzf.vim
104.275  001.262  001.262: sourcing /Users/mwoods/.vim/bundle/fzf.vim/plugin/fzf.vim
104.565  000.059  000.059: sourcing /Users/mwoods/.vim/bundle/gist/plugin/gist.vim
105.432  000.221  000.221: sourcing /Users/mwoods/.vim/bundle/gitgutter/autoload/gitgutter/utility.vim
106.214  000.200  000.200: sourcing /Users/mwoods/.vim/bundle/gitgutter/autoload/gitgutter/highlight.vim
107.935  003.173  002.752: sourcing /Users/mwoods/.vim/bundle/gitgutter/plugin/gitgutter.vim
109.118  000.597  000.597: sourcing /Users/mwoods/.vim/bundle/go/autoload/go/config.vim
110.326  000.562  000.562: sourcing /Users/mwoods/.vim/bundle/go/autoload/go/util.vim
110.363  002.214  001.055: sourcing /Users/mwoods/.vim/bundle/go/plugin/go.vim
110.851  000.046  000.046: sourcing /Users/mwoods/.vim/bundle/mkdir/plugin/mkdir.vim
111.072  000.021  000.021: sourcing /Users/mwoods/.vim/bundle/most-minimal-folds/plugin/most_minimal_folds.vim
112.249  000.989  000.989: sourcing /Users/mwoods/.vim/bundle/mru/plugin/mru.vim
113.378  000.278  000.278: sourcing /Users/mwoods/.vim/bundle/nerdtree/autoload/nerdtree.vim
114.646  000.576  000.576: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/path.vim
115.230  000.162  000.162: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/menu_controller.vim
115.729  000.097  000.097: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/menu_item.vim
116.458  000.335  000.335: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/key_map.vim
117.445  000.580  000.580: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/bookmark.vim
118.429  000.570  000.570: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/tree_file_node.vim
119.802  000.961  000.961: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/tree_dir_node.vim
120.753  000.475  000.475: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/opener.vim
121.964  000.612  000.612: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/creator.vim
122.534  000.075  000.075: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/flag_set.vim
123.106  000.171  000.171: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/nerdtree.vim
123.864  000.370  000.370: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/ui.vim
124.280  000.024  000.024: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/event.vim
124.721  000.050  000.050: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/notifier.vim
125.759  000.573  000.573: sourcing /Users/mwoods/.vim/bundle/nerdtree/autoload/nerdtree/ui_glue.vim
130.059  000.119  000.119: sourcing /Users/mwoods/.vim/bundle/nerdtree/nerdtree_plugin/exec_menuitem.vim
131.113  000.978  000.978: sourcing /Users/mwoods/.vim/bundle/nerdtree/nerdtree_plugin/fs_menu.vim
131.254  000.061  000.061: sourcing /Users/mwoods/.vim/bundle/nerdtree/nerdtree_plugin/vcs.vim
132.098  019.643  012.576: sourcing /Users/mwoods/.vim/bundle/nerdtree/plugin/NERD_tree.vim
133.641  000.199  000.199: sourcing /Users/mwoods/.vim/bundle/PreserveNoEOL/autoload/escapings.vim
133.954  001.655  001.456: sourcing /Users/mwoods/.vim/bundle/PreserveNoEOL/plugin/PreserveNoEOL.vim
134.864  000.702  000.702: sourcing /Users/mwoods/.vim/bundle/qf/plugin/qf.vim
136.167  001.098  001.098: sourcing /Users/mwoods/.vim/bundle/rails/plugin/rails.vim
136.569  000.143  000.143: sourcing /Users/mwoods/.vim/bundle/scala/plugin/scala.vim
137.358  000.592  000.592: sourcing /Users/mwoods/.vim/bundle/schlepp/plugin/schlepp.vim
137.723  000.165  000.165: sourcing /Users/mwoods/.vim/bundle/scratch/plugin/scratch.vim
138.144  000.217  000.217: sourcing /Users/mwoods/.vim/bundle/securemodelines/plugin/securemodelines.vim
138.706  000.360  000.360: sourcing /Users/mwoods/.vim/bundle/sessionman/plugin/sessionman.vim
139.087  000.180  000.180: sourcing /Users/mwoods/.vim/bundle/spacehi/plugin/spacehi.vim
140.369  001.088  001.088: sourcing /Users/mwoods/.vim/bundle/supertab/plugin/supertab.vim
141.291  000.706  000.706: sourcing /Users/mwoods/.vim/bundle/surround/plugin/surround.vim
142.982  001.490  001.490: sourcing /Users/mwoods/.vim/bundle/tagbar/plugin/tagbar.vim
143.634  000.412  000.412: sourcing /Users/mwoods/.vim/bundle/vinegar/plugin/vinegar.vim
144.011  000.137  000.137: sourcing /Users/mwoods/.vim/bundle/window-mode/plugin/window_mode.vim
144.257  000.047  000.047: sourcing /Users/mwoods/.vim/bundle/wipeout/plugin/wipeout.vim
144.612  000.138  000.138: sourcing /Users/mwoods/.vim/bundle/ZoomWin/plugin/ZoomWinPlugin.vim
145.586  000.078  000.078: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/getscriptPlugin.vim
145.954  000.286  000.286: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/gzip.vim
146.334  000.295  000.295: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/logiPat.vim
146.459  000.040  000.040: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/manpager.vim
146.772  000.235  000.235: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/matchparen.vim
147.530  000.673  000.673: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/netrwPlugin.vim
147.705  000.053  000.053: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/rrhelper.vim
147.830  000.035  000.035: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/spellfile.vim
148.139  000.222  000.222: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/tarPlugin.vim
148.365  000.132  000.132: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/tohtml.vim
148.661  000.208  000.208: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/vimballPlugin.vim
149.018  000.252  000.252: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/zipPlugin.vim
149.297  000.032  000.032: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
149.308  010.489: loading plugins
149.439  000.131: loading packages
149.670  000.231: loading after plugins
149.677  000.007: inits 3
154.115  004.438: reading viminfo
154.174  000.059: setting raw mode
154.193  000.019: start termcap
154.250  000.057: clearing screen
154.434  000.184: opening buffers
159.775  000.180  000.180: sourcing /Users/mwoods/.vim/bundle/gitgutter/autoload/gitgutter.vim
159.836  005.222: BufEnter autocommands
159.839  000.003: editing files in windows
170.795  009.345  009.345: sourcing /Users/mwoods/.vim/bundle/rails/autoload/rails.vim
194.865  000.085  000.085: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/compiler/rake.vim
195.045  000.996  000.911: sourcing /Users/mwoods/.vim/bundle/rails/compiler/rails.vim
213.433  043.253: VimEnter autocommands
213.436  000.003: before starting main loop
215.482  002.046: first screen update
215.485  000.003: --- VIM STARTED ---

Vim startup time log, vim-rails plugin removed:

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

000.009  000.009: --- VIM STARTING ---
000.121  000.112: Allocated generic buffers
000.306  000.185: locale set
000.317  000.011: GUI prepared
000.320  000.003: clipboard setup
000.327  000.007: window checked
001.101  000.774: inits 1
001.113  000.012: parsing arguments
004.835  003.722: expanding arguments
008.282  003.447: shell init
008.760  000.478: Termcap init
008.797  000.037: inits 2
011.014  002.217: init highlight
011.493  000.326  000.326: sourcing $VIM/vimrc
012.181  000.337  000.337: sourcing /Users/mwoods/.vim/autoload/pathogen.vim
023.073  000.362  000.362: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
023.147  002.956  002.594: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/macros/matchit.vim
025.160  000.337  000.337: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
025.411  001.344  001.007: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/synload.vim
034.270  000.018  000.018: sourcing /Users/mwoods/.vim/bundle/actionscript/ftdetect/actionscript.vim
034.617  000.073  000.073: sourcing /Users/mwoods/.vim/bundle/coffee-script/ftdetect/coffee.vim
034.720  000.027  000.027: sourcing /Users/mwoods/.vim/bundle/coffee-script/ftdetect/vim-literate-coffeescript.vim
035.018  000.018  000.018: sourcing /Users/mwoods/.vim/bundle/fugitive/ftdetect/fugitive.vim
035.510  000.283  000.283: sourcing /Users/mwoods/.vim/bundle/go/ftdetect/gofiletype.vim
035.707  000.041  000.041: sourcing /Users/mwoods/.vim/bundle/haml/ftdetect/haml.vim
035.920  000.016  000.016: sourcing /Users/mwoods/.vim/bundle/javascript/ftdetect/flow.vim
036.035  000.043  000.043: sourcing /Users/mwoods/.vim/bundle/javascript/ftdetect/javascript.vim
036.274  000.069  000.069: sourcing /Users/mwoods/.vim/bundle/jsx/ftdetect/javascript.vim
036.544  000.019  000.019: sourcing /Users/mwoods/.vim/bundle/rdoc/ftdetect/rdoc.vim
036.753  000.042  000.042: sourcing /Users/mwoods/.vim/bundle/scala/ftdetect/scala.vim
037.056  000.026  000.026: sourcing /Users/mwoods/.vim/bundle/typescript/ftdetect/typescript.vim
037.431  011.285  010.610: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
039.203  000.701  000.701: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/scripts.vim
039.439  016.158  002.828: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syntax.vim
040.223  000.022  000.022: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/filetype.vim
041.075  000.056  000.056: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/ftplugin.vim
041.904  000.052  000.052: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/indent.vim
043.337  000.266  000.266: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
078.520  000.371  000.371: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
079.702  000.258  000.258: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/syntax/syncolor.vim
082.941  039.223  038.594: sourcing /Users/mwoods/.vim/bundle/colors-solarized/colors/solarized.vim
085.217  000.047  000.047: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/autoload/paste.vim
085.626  073.974  014.857: sourcing $HOME/.vimrc
085.633  000.319: sourcing vimrc file(s)
086.343  000.202  000.202: sourcing /Users/mwoods/.vim/bundle/ack/plugin/ack.vim
086.834  000.247  000.247: sourcing /Users/mwoods/.vim/bundle/autoswap/plugin/autoswap.vim
087.158  000.105  000.105: sourcing /Users/mwoods/.vim/bundle/bracketed-paste/plugin/bracketed-paste.vim
088.783  001.413  001.413: sourcing /Users/mwoods/.vim/bundle/bufexplorer/plugin/bufexplorer.vim
090.649  001.590  001.590: sourcing /Users/mwoods/.vim/bundle/bundler/plugin/bundler.vim
091.056  000.143  000.143: sourcing /Users/mwoods/.vim/bundle/colorizer/plugin/colorizer.vim
091.826  000.261  000.261: sourcing /Users/mwoods/.vim/bundle/commentary/plugin/commentary.vim
093.536  000.597  000.597: sourcing /Users/mwoods/.vim/bundle/delimitMate/autoload/delimitMate.vim
096.978  004.925  004.328: sourcing /Users/mwoods/.vim/bundle/delimitMate/plugin/delimitMate.vim
097.735  000.228  000.228: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip.vim
098.545  000.551  000.551: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Paste.vim
099.930  000.209  000.209: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Move.vim
100.639  000.249  000.249: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Substitute.vim
101.317  000.418  000.418: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Yank.vim
102.127  000.096  000.096: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/Shared.vim
102.449  000.065  000.065: sourcing /Users/mwoods/.vim/bundle/easyclip/autoload/EasyClip/BlackHole.vim
104.975  007.735  005.919: sourcing /Users/mwoods/.vim/bundle/easyclip/plugin/EasyClip.vim
105.954  000.711  000.711: sourcing /Users/mwoods/.vim/bundle/editorconfig/plugin/editorconfig.vim
106.615  000.431  000.431: sourcing /Users/mwoods/.vim/bundle/endwise/plugin/endwise.vim
107.677  000.842  000.842: sourcing /Users/mwoods/.vim/bundle/eunuch/plugin/eunuch.vim
109.910  002.005  002.005: sourcing /Users/mwoods/.vim/bundle/fugitive/plugin/fugitive.vim
111.047  000.899  000.899: sourcing /Users/mwoods/.vim/bundle/fzf/plugin/fzf.vim
112.460  001.181  001.181: sourcing /Users/mwoods/.vim/bundle/fzf.vim/plugin/fzf.vim
112.742  000.055  000.055: sourcing /Users/mwoods/.vim/bundle/gist/plugin/gist.vim
113.679  000.231  000.231: sourcing /Users/mwoods/.vim/bundle/gitgutter/autoload/gitgutter/utility.vim
114.518  000.208  000.208: sourcing /Users/mwoods/.vim/bundle/gitgutter/autoload/gitgutter/highlight.vim
116.670  003.720  003.281: sourcing /Users/mwoods/.vim/bundle/gitgutter/plugin/gitgutter.vim
117.984  000.619  000.619: sourcing /Users/mwoods/.vim/bundle/go/autoload/go/config.vim
119.481  000.598  000.598: sourcing /Users/mwoods/.vim/bundle/go/autoload/go/util.vim
119.523  002.591  001.374: sourcing /Users/mwoods/.vim/bundle/go/plugin/go.vim
119.916  000.044  000.044: sourcing /Users/mwoods/.vim/bundle/mkdir/plugin/mkdir.vim
120.150  000.021  000.021: sourcing /Users/mwoods/.vim/bundle/most-minimal-folds/plugin/most_minimal_folds.vim
121.367  001.014  001.014: sourcing /Users/mwoods/.vim/bundle/mru/plugin/mru.vim
122.622  000.331  000.331: sourcing /Users/mwoods/.vim/bundle/nerdtree/autoload/nerdtree.vim
124.431  001.064  001.064: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/path.vim
125.230  000.335  000.335: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/menu_controller.vim
125.897  000.219  000.219: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/menu_item.vim
126.602  000.265  000.265: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/key_map.vim
127.795  000.626  000.626: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/bookmark.vim
128.921  000.634  000.634: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/tree_file_node.vim
130.177  000.780  000.780: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/tree_dir_node.vim
130.855  000.236  000.236: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/opener.vim
131.595  000.304  000.304: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/creator.vim
132.097  000.059  000.059: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/flag_set.vim
132.714  000.178  000.178: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/nerdtree.vim
133.519  000.376  000.376: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/ui.vim
133.977  000.029  000.029: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/event.vim
134.505  000.053  000.053: sourcing /Users/mwoods/.vim/bundle/nerdtree/lib/nerdtree/notifier.vim
135.615  000.600  000.600: sourcing /Users/mwoods/.vim/bundle/nerdtree/autoload/nerdtree/ui_glue.vim
140.176  000.142  000.142: sourcing /Users/mwoods/.vim/bundle/nerdtree/nerdtree_plugin/exec_menuitem.vim
141.279  001.018  001.018: sourcing /Users/mwoods/.vim/bundle/nerdtree/nerdtree_plugin/fs_menu.vim
141.436  000.069  000.069: sourcing /Users/mwoods/.vim/bundle/nerdtree/nerdtree_plugin/vcs.vim
142.306  020.714  013.396: sourcing /Users/mwoods/.vim/bundle/nerdtree/plugin/NERD_tree.vim
144.128  000.216  000.216: sourcing /Users/mwoods/.vim/bundle/PreserveNoEOL/autoload/escapings.vim
144.462  001.937  001.721: sourcing /Users/mwoods/.vim/bundle/PreserveNoEOL/plugin/PreserveNoEOL.vim
145.435  000.748  000.748: sourcing /Users/mwoods/.vim/bundle/qf/plugin/qf.vim
145.851  000.135  000.135: sourcing /Users/mwoods/.vim/bundle/scala/plugin/scala.vim
147.071  001.009  001.009: sourcing /Users/mwoods/.vim/bundle/schlepp/plugin/schlepp.vim
147.603  000.193  000.193: sourcing /Users/mwoods/.vim/bundle/scratch/plugin/scratch.vim
148.195  000.365  000.365: sourcing /Users/mwoods/.vim/bundle/securemodelines/plugin/securemodelines.vim
148.798  000.386  000.386: sourcing /Users/mwoods/.vim/bundle/sessionman/plugin/sessionman.vim
149.206  000.188  000.188: sourcing /Users/mwoods/.vim/bundle/spacehi/plugin/spacehi.vim
150.575  001.152  001.152: sourcing /Users/mwoods/.vim/bundle/supertab/plugin/supertab.vim
151.542  000.742  000.742: sourcing /Users/mwoods/.vim/bundle/surround/plugin/surround.vim
153.668  001.820  001.820: sourcing /Users/mwoods/.vim/bundle/tagbar/plugin/tagbar.vim
154.435  000.475  000.475: sourcing /Users/mwoods/.vim/bundle/vinegar/plugin/vinegar.vim
154.842  000.147  000.147: sourcing /Users/mwoods/.vim/bundle/window-mode/plugin/window_mode.vim
155.105  000.049  000.049: sourcing /Users/mwoods/.vim/bundle/wipeout/plugin/wipeout.vim
155.488  000.150  000.150: sourcing /Users/mwoods/.vim/bundle/ZoomWin/plugin/ZoomWinPlugin.vim
156.592  000.084  000.084: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/getscriptPlugin.vim
156.983  000.305  000.305: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/gzip.vim
157.379  000.306  000.306: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/logiPat.vim
157.549  000.079  000.079: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/manpager.vim
158.014  000.309  000.309: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/matchparen.vim
158.943  000.826  000.826: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/netrwPlugin.vim
159.118  000.056  000.056: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/rrhelper.vim
159.261  000.040  000.040: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/spellfile.vim
159.561  000.208  000.208: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/tarPlugin.vim
159.800  000.136  000.136: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/tohtml.vim
160.109  000.212  000.212: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/vimballPlugin.vim
160.482  000.267  000.267: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/plugin/zipPlugin.vim
160.784  000.035  000.035: sourcing /usr/local/Cellar/macvim/8.2-171_1/MacVim.app/Contents/Resources/vim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
160.795  011.954: loading plugins
160.938  000.143: loading packages
161.166  000.228: loading after plugins
161.173  000.007: inits 3
166.777  005.604: reading viminfo
166.870  000.093: setting raw mode
166.886  000.016: start termcap
166.974  000.088: clearing screen
167.181  000.207: opening buffers
175.625  000.325  000.325: sourcing /Users/mwoods/.vim/bundle/gitgutter/autoload/gitgutter.vim
175.727  008.221: BufEnter autocommands
175.732  000.005: editing files in windows
176.954  001.222: VimEnter autocommands
176.957  000.003: before starting main loop
180.989  004.032: first screen update
180.992  000.003: --- VIM STARTED ---
mmrwoods commented 2 years ago

And profiling bundler.vim plugin file:

vim-bundler.profile.log

mmrwoods commented 2 years ago

And profiling rails.vim autoload file:

vim-rails.profile.log

tpope commented 2 years ago

It's all or nothing. If rails.vim is activating, it needs to query bundler.vim for full functionality. I would consider an option that disables the VimEnter activation entirely. That is, if you start Vim with no arguments, then rails.vim would no longer activate based on the current working directory. (If I had it my way, this would be the default behavior, but I can't do that without a never-ending barrage of "bug reports".)

mmrwoods commented 2 years ago

Fair enough, just thought it was worth reporting in a little more detail than I had seen previously.

mmrwoods commented 2 years ago

@tpope is this the kind of thing that might be acceptable to optionally disable VimEnter activation...

index 7e6d9f1..d56a4a6 100644
--- a/plugin/rails.vim
+++ b/plugin/rails.vim
@@ -86,11 +86,15 @@ augroup railsPluginDetect
         \ if RailsDetect(expand("<afile>:p")) && empty(&filetype) |
         \   call rails#buffer_setup() |
         \ endif
-  autocmd VimEnter *
-        \ if empty(expand("<amatch>")) && RailsDetect(getcwd()) |
-        \   call rails#buffer_setup() |
-        \   call s:doau_user('BufEnterRails') |
-        \ endif
+
+  if get(g:, 'rails_detect_vim_enter', 1)
+    autocmd VimEnter *
+          \ if empty(expand("<amatch>")) && RailsDetect(getcwd()) |
+          \   call rails#buffer_setup() |
+          \   call s:doau_user('BufEnterRails') |
+          \ endif
+  endif
+
   autocmd FileType netrw
         \ if RailsDetect() |
         \   call s:doau_user('BufEnterRails') |
tpope commented 2 years ago

That's the right idea. I just pushed my own version.

mmrwoods commented 2 years ago

Nice, thanks 👍