I get the basics of the runtimepath as explained in :h 'runtimepath'. Except for the remark at the end

for Neovim (nearly identical in Vim):

    You can put a directory before $VIMRUNTIME to find files which replace
    distributed runtime files.  You can put a directory after $VIMRUNTIME
    to find files which add to distributed runtime files.

What I don't understand is the sense in which putting a directory before $VIMRUNTIME replaces distributed runtime files. I thought that putting something before in $RUNTIMEPATH just affects the order in which its contents are sourced/loaded.

So could this just be poor phrasing in the documentation or am I missing something?

And in this case, I interpret 'distributed' as meaning 'coming packaged with vim when you installed it' instead of the sense of 'distributed computing' or 'distributed version control'.

1 Answer 1


It does affect order loaded; but, most of $VIMRUNTIME files check certain "did_X" guards and bail out. So if earlier files set those flags, $VIMRUNTIME files skip themselves.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.