Stefano Zacchiroli wrote:
According to my reading of :help load-plugins the plugins should be
loaded following the runtimepath ordering. That is: first load all the
plugins in the first component of runtimepath, then all the plugins in
the second component and so on.

According to my experiments however this is not the case. It looks like
all the plugins from all the components of the runtimepath are loaded in
alphabetic order.

For example, I have the following runtimepath:

  
runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim70,/usr/share/vim/vimfiles/after,/usr/share/vim/addons/after,/var/lib/vim/addons/after,~/.vim/after

with matchit.vim installed (i.e. symlinked) under
/usr/share/vim/addons/plugin/. If I add the following plugin to my
~/.vim:

  $ cat .vim/plugin/no-matchit.vim
  let loaded_matchit = 1

matchit is still loaded and works properly (note that no-matchit >
matchit in alphabetic order). However if I move it as follows:

  $ mv .vim/plugin/no-matchit.vim .vim/plugin/lo-matchit.vim

matchit is prevented to be loaded.

Is this a bug or a underspecification in the vim docs?

Cheers.


According to your settings, the plugins ought to be loaded in the following sequence (which seems unduly complicated to me but that's not my business):

1. everything in ~/.vim/plugin/*.vim
2. everything in /var/lib/vim/addons/plugin/*.vim
3. everything in /usr/share/vim/addons/plugin/*.vim
4. everything in /usr/share/vim/vimfiles/plugin/*.vim
5. everything in /usr/share/vim/vim70/plugin/*.vim
6. everything in /usr/share/vim/vimfiles/after/plugin/*.vim
7. everything in /usr/share/vim/addons/after/plugin/*.vim
8. everything in /var/lib/vim/addons/after/plugin/*.vim
9. everything in ~/.vim/after/plugin/*.vim

That's what ":scriptnames" should show. If a plugin has a ":finish" clause near the start, it might get loaded and do nothing, but still appear in the ":scriptnames" listing.

What you describe lets me believe that there's something in your ~/.vim/plugin (maybe ~/.vim/plugin/matchit.vim ?) which invokes (or is) some version of matchit.


Best regards,
Tony.

Reply via email to