Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
All of my vim config files (.vimrc, plugins, syntax etc)
VimL Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.

Samwho's Vim Configuration

It appears that you've stumbled upon my vim configuration file repo! Welcome. This is where I keep all of the files that are relevant to setting up vim just the way I like it. I've tried my best to lay it out in a sensible way that's easy to understand and use should you so desire.

I can't promise that the configuration is cross-platform because, well, I don't know of anyone that uses it apart from me. I know that you should get fairly good cross-platform mileage on Linux based systems but beyond that you're on your own.


To use my .vimrc you will need a number of programs to get the optimal result:

  • par, a paragraph formatter: link
  • ctags, a tag file generator. Ships with most distros.
  • Ruby 1.9.2 or higher is required to run the script files in the bin directory.
  • There might be more. If you run into problems let me know and I'll do my best to help :)


To get going with this configuration you'll need to clone this repository:

$ git clone git://

Then you can cd into that directory and run the handy install script:

$ cd vim-config
$ ./bin/vim_install

The install script will backup your current configuration, if it finds one, into the backups/ directory of the repository. When it's finished with that, it will create symbolic links in your home directory that point to the files in here.

Next you'll need to pull down Vundle, which is present as a submodule:

$ git submodule update --init

After that, you can install the plugins via Vundle:

$ vim +PluginInstall +qall

Overriding my config

If you were to directly modify my configuration, you would get nasty git errors when you went to update from my git repository. This isn't recommended.

Because of the above fact, I've included a .vimrc.local.sample file. When you run ./bin/vim_install this file will be copied to .vimrc.local in the repo directory and symlinked to from ~/.vimrc.local. My .vimrc file will then source ~/.vimrc.local as the last thing it does, allowing you to override any of my settings.

Check out what's in the .vimrc.local.sample file, it gives a few examples of the things you might want to do.

Remember to re-run ./bin/vim_install if you were using a previous version of my config that did not include a .vimrc.local.sample file, as it will be not properly symlinked in your home directory until you do.

Also remember that you should edit .vimrc.local, not .vimrc.local.sample. Editing the sample file will lead to the same messy problems as editing my .vimrc file.

Clearing out backups

If you've run the ./bin/vim_install command a few too many times and you've acquired a lot of backups, the following command will clear them out for you:

$ ./bin/vim_clear_backups


Feel free to fork this repository and correct stupid mistakes I've made. I'm bound to make them.

Please don't fork the repo, make a peference based change and submit a pull request. A person's vim configuration is very specific and any preference based changes should be just that: preference.

Something went wrong with that request. Please try again.