My Vim preferences
Vim script Shell Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
pathogen @ 09f2c3b

My Vim Preferences


Linux / Mac OS X / Cygwin

Copy and paste this into a terminal:

bash -s < <(curl -s


The above script removes any preexisting personal Vim configuration, so backup anything you might wish to preserve going forward. This repo is then cloned into ~/.vim, and a symbolic link is created between ~/.vimrc and ~/.vim/vimrc, which allows you to update the repo and have the changes reflected instantly in Vim. Once the repo is cloned, all of the submodules -- links to Vim plugins -- are initialized and updated. A symbolic link is created for pathogen, which can then load all of the plugins found in ~/.vim/bundle.

The reason for all the symbolic links and git submodules is simple: from now on, you only have to update this repo and its submodules to have all changes reflected in Vim. And you can do this within Vim by typing ,u!

Note that you can add your own stuff to ~/.vimrc_custom, in the off-chance you disagree with any of my settings.


Note: This requires Vista or a more recent version of Windows (for mklink), and you must open the command prompt as an administrator (right-click > Run as administrator...). Also, some git commands in Windows have a nasty habit of causing the command prompt to "eat" subsequent pasted commands, so probably needs to be run in three parts.

cd "%UserProfile%"
rmdir vimfiles /S /Q
git clone vimfiles
del _vimrc
mklink _vimrc vimfiles\vimrc
cd vimfiles
git submodule init

git submodule update

mkdir autoload
cd autoload
mklink pathogen.vim ..\pathogen\autoload\pathogen.vim

You can add the optional stuff as follows:

cd "%UserProfile%\vimfiles"
bundle update
cd ..
del _pryrc
mklink _irbrc vimfiles\irbrc
mklink _pryrc vimfiles\pryrc


Within Vim, just type ,u

Easy enough, yes?


This configuration utilizes the following plugins:

Tim Pope

  • endwise - Wisely add
  • fugitive - A Git wrapper so awesome, it should be illegal
  • haml - Haml and Sass syntax, indenting, and ftplugin
  • pathogen - Easy manipulation of 'runtimepath', 'path', 'tags', etc
  • rails - Ruby on Rails: easy file navigation, enhanced syntax highlighting, and more
  • surround - Delete/change/add parentheses/quotes/XML-tags/much more with ease
  • unimpaired - Pairs of handy bracket mappings

Marty Grenfell

  • The NERD Commenter - A plugin that allows for easy commenting of code for many filetypes.
  • The NERD tree - A tree explorer plugin for navigating the filesystem


  • konjac - Some Vim integration for konjac
  • v1m - Some very minor functions for use in translating English to and from Japanese