Local Settings

Alex R. Young
usevim
Published in
1 min readOct 25, 2012

If you’re like me then you have a centralised repository for Vim’s settings. There are situations, however, where local settings are required. For example, I may want subtly different settings when working on files on a server, but still want to load my preferred .vimrc as well.

One way to solve this that I’ve seen used in dotfiles on GitHub is to source a "local" settings file:

if filereadable('~/.vim/local.vim')
so ~/.vim/local.vim
endif

This snippet can be placed in your centralised .vimrc, and then machines or accounts that require tailoring can be supported by creating a suitable ~/.vim/local.vim file. In the other cases where this isn't required, filereadable is used to prevent loading a non-existent file.

This concept can be extended to support project-specific configuration by checking for a settings file in the current directory:

if filereadable('.local.vim')
so .local.vim
endif

There are plugins that implement more elegant versions of this, including localvimrc by Markus Braun.

--

--