< Back to frontpage

Load vim source files only if they exist

for a modular vim configuration

This is one of my favorite functions to use in vim configurations. You can load a vim file, but if it doesn't exist, fail silently.

This can be placd inside of ~/.vimrc:

" Function to source only if file exists { function! SourceIfExists(file) if filereadable(expand(a:file)) exe 'source' a:file endif endfunction " }

Here are some examples of my usage of it:

call SourceIfExists("~/.vim/colors.vim") call SourceIfExists("~/.vimrc.local") " FreeBSD-specific terminal fixes if FREEBSD() call SourceIfExists("~/.vim/compat/freebsd.vim") call SourceIfExists("/usr/src/tools/tools/editing/freebsd.vim") end if has('gui_running') call SourceIfExists("~/.gvimrc.local") endif

SourceIfExists() keeps things DRY while avoiding dense code there. For including all source files inside a directory, try the Include all vim files in a directory snippet.