Add a config line required by vundle
Use `color.ui = auto` setting to color git output
Use bundler.vim

Includes features such as:

* `:Bundle`, which wraps `bundle`.
* An internalized version of `bundle open`: `:Bopen` (and `:Bsplit`,
  `:Btabedit`, etc.).
* `'path'` and `'tags'` are automatically altered to include all gems
  from your bundle.  (Generate those tags with
  [gem-ctags](https://github.com/tpope/gem-ctags)!)
* Highlight Bundler keywords in `Gemfile`.
* Support for `gf` in `Gemfile.lock`, plus syntax highlighting that
  distinguishes between installed and missing gems.
Remove --noheading flag from ag execution

The flag isn't needed, and seems to cause strange output.

Output with flag in vim:

app/models/group.rb|4| validates :yammer_group_id, :name, presence: true
||·
app/models/event.rb|24| validates :name, presence: ...

---

Output without:

app/models/event.rb|24| validates :name, presence: ...
app/models/event.rb|25| validates :name, length: ...
app/models/event.rb|26| validates :open, inclusion: ...
Always merge with `ff = only`

@jferris:

This has the effect that Git will never implicitly do a merge commit,
including while doing git pull. If I'm unexpectedly out of sync when I
git pull, I get this message:

> fatal: Not possible to fast-forward, aborting.

At that point, I know that I've forgotten to do something in my normal
workflow, and I retrace my steps.

@gylaz:

I like the value of seeing a failure message if a pull (or just merge)
fails due to not being able to get fast-forwarded. Then I can look to
see whose changes went out, that I may have not expected to be there.
Add vim-rspec mappings

Compliments https://github.com/thoughtbot/vim-rspec/pull/7
Open new splits to the right/bottom

* Feels more natural than Vim's default
Remove `git br` alias

I almost never use `git branch`.
Add `g pr` alias for `hub pull-request`
Bundle vim-ruby/vim-ruby

vim-ruby is where Vim's support for Ruby comes from - file type
detection, syntax highlighting, etc. Vim bundles vim-ruby, but the
GitHub project is always ahead of what's released with Vim.
Don't use suffix flag for zsh compadd command

* Fixes an issue where tab completing specs that start with the same
words(s) makes tab completion freak out and stop working.

* The con is that we'll see "_spec.rb" in the output, like:

```zsh
$ rspec spec/models/
models/calendar_spec.rb
models/event_closer_spec.rb
...
```
Fix reference to non-existent file

Link to it for easy access in GitHub.
Fix issue with submodules

    dotfiles[master]/
    ↪ git submodule init
    No submodule mapping found in .gitmodules for path 'vim/bundle/ctags.vim'

Git requires a `.gitmodules` file for submodules, but these aren’t
needed as `vundle` handles finding and cloning vim plugins.

There’s also not really any benefit to locking down a version as vim
plugins don’t have a standardized versioning system. Many don’t have
version numbers at all.

I've added a `.gitkeep` file, which is something I generally don’t like
having, but we need to have the directory around for vundle. I’d be up
for removing that and creating the directory in `install.sh`. Thoughts?
Ignore new things in vim/bundle/
Move Bundles into a separate file

I've had this in [my own dotfiles] for a while now, and really like
having the separation of what I consider to be code/configuration from
what to me feels more like a Gemfile, in that it lists out all of the
external dependencies in a single place.

[my own dotfiles](https://github.com/calebthompson/dotfiles/blob/master/vim/vimrc.bundles.symlink)

* Awesomer vundle integration:
  * Refactor .vimrc and .vimrc.bundles to support standalone
    BundleInstall.
  * Install vim bundles as part of install.sh without sourcing the
    normal vimrc, which prevents error messages from uninstalled
    plugins referenced in the main vimrc.
Don't remember cursor position for commit messages

It's not very useful to be dropped into the middle of your diff when
opening a new commit. This change prevents cursor position from being
restored for the `gitcommit` filetype.
Add syntastic for syntax checking

* enable check on open: I want to know about any broken windows from the
  start.

* disable inline highlights: the line markers are sufficient.
Extract dev/staging/prod binaries to parity gem

https://github.com/croaky/parity
Add mappings to switch windows more succinctly
Remove reattach-to-user-namespace

This is Mac OS X-specific. Including this line in the dotfiles causes
`tmux` and `tmux new -s new-session` to break with `[exited]`.

I personally don't do copy-pasteable work inside tmux anymore.

I'm sure this is valuable to some of the thoughtbot vim users but I'm
thinking it better belongs above `DO NOT EDIT BELOW THIS LINE` as custom
configuration for those users.