Vim packages work by updating 'runtimepath'
to include the top directories of the plug-ins in each package (and also the after/
directory), but the Vim documentation on packages isn't absolutely clear on which ordering is used to add the packages into 'runtimepath'
.
It seems plug-ins are added after the Vim directory in your home (~/.vim
or $HOME/vimfiles
on Windows) and before the Vim system-wide runtimes (there's actually two directories for those, $VIM/vimfiles
and $VIMRUNTIME
.) The after/
directories of plug-ins are added after the Vim runtimes.
These general guidelines seem intuitive and make sense, since you typically want the files directly in your home to supercede plug-ins (so come as early as possible), then have plug-ins supercede the Vim runtimes (since you might use a plug-in with a richer or more featureful version of what upstream ships) and the after/
directory exists specifically for when you specifically need to have something as late as possible in 'runtimepath'
.
But: What are the exact rules used to splice package plug-in directories into 'runtimepath'
?
What if you changed your 'runtimepath'
, or you're using a non-standard directory for the Vim runtimes?
In the same vein, Vim 8 packages seem to follow on the tracks of pathogen.vim, which started establishing adding plug-in directories to 'runtimepath'
as a way to manage plug-ins, which was later embraced by plug-in managers such as Vundle and vim-plug. But it seems none of those is very explicit in documenting the rules for manipulation of 'runtimepath'
either.
So: What are the rules for splicing 'runtimepath'
used by these popular plug-in managers? Are those the same ones later adopted by Vim packages?