Lots of changes thanks to http://nvie.com/posts/how-i-boosted-my-vim/