tat: create tmux session if nonexistent
Add Shift+Tab map for tab complete in insert mode

Feature parity with `<c-p>` `<c-n>` tab completion duo.
Set Vim's colorcolumn to 80 characters

* We have an 80 character formatting limit
* This makes it obvious where that limit is
Adds `vim-ruby` back to `vimrc.bundles`

Removal in https://github.com/thoughtbot/dotfiles/commit/deb7ee5948a0df56c2a68fc2dab22fd31d70a204
was accidental.

Also, removes `vim/bundle` directory as it is no longer useful to us, since
`vundle` creates it when it needs to.
Allow stylesheets to autocomplete hyphenated words
Add /usr/local/bin to PATH before /usr/bin

This is for homebrew binaries to work.

Load `rbenv` after adding `$HOME/.bin` and `/usr/local/bin` to `PATH`, but
before adding project-specific binstubs.
tat command now works in directories with periods

- Running `tat` in the robots.thoughtbot.com directory was throwing a
'bad session name' tmux error
- See http://sourceforge.net/p/tmux/tickets/109/
Set Vim's spellfile to $HOME

Running `zg` adds words to the `spellfile`:

https://github.com/thoughtbot/dotfiles/commit/4f5a2edc336970b8a1c7eded3934182810abeb20
http://robots.thoughtbot.com/vim-spell-checking

Setting the spellfile keeps it out of its default location, `vim/spell`, which
would otherwise be inside thoughtbot/dotfiles. We don't necessarily want to
share the `spellfile` across the team.
Update for Vundle's new interface

* Vundle now lives at gmarik/Vundle.vim

See https://github.com/gmarik/Vundle.vim/blob/master/doc/vundle.txt#L345-L369
Make it easy to checkout GitHub pull requests

This alias makes the following workflow possible:

Look at changes:

    git co-pr 123
    git diff origin/master

Bundle, validate tests are passing:

    bundle
    rake

Rebase interactively, squash, and potentially improve commit messages:

    git rebase -i master

Merge code into master:

    git checkout master
    git merge pr/123 --ff-only

Push:

    git push origin master

Clean up:

    git branch -D pr/123
Allow personal overrides to psqlrc

I wanted to add my own customizations after reading @mike-burns' post on
[`psqlrc`](http://robots.thoughtbot.com/an-explained-psqlrc).

As a result of this change, `.psqlrc` requires that a `.psqlrc.local`
exist in the home folder because `psql` cannot do conditional sourcing
of files in the style that we use in other foundation dotfiles. Touching
the file to ensure it exists (even if blank) prevents `psql` from
exiting with an error if the user does not provide their own custom
configuration.

Additional changes:
* Updating the documentation with regard to which files get excluded.
Improve ag tab completion

* Remove unnecessary `uniq`
* Look for tags in tmp/tags or .git/tags
* Send errors to /dev/null if the file(s) do not exist

See http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html for an
explanation behind the reasoning for .git/tags.
Add vim-multiple-cursors plugin for Vim
Revert "Add vim-multiple-cursors plugin for Vim"

This reverts commit 422a6f6d3324a7c6060793657054025d41a7bab3.

Want to go through a PR cycle.
\unset QUIET is case sensitive
Introduce ~/.zsh/configs

Just before loading `~/.zshrc.local`, load:

1. `~/.zsh/configs/pre/**/*`
2. `~/.zsh/configs/**/*` # excluding pre and post
3. `~/.zsh/configs/post/**/*`

About the zsh glob:

- `.`: only produce normal files.
- `-`: follow symlinks to their final file; skip any broken links.
- `N`: do not complain about zero matches.

Big ups to Pat Brisbin for finding `N`.
Introduces `git_template` for init templating

Inspired by http://tbaggery.com/2011/08/08/effortless-ctags-with-git.html

* Make `ctags` executable configurable
* Adds `git ctags`
* Runs `ctag` on `commit` / `branch` / `checkout`
* Extensible via `~/.git_template.local/hooks/{pre,post}-*`
* explain `git_template` under `git` section
Add vim-repeat plugin

Repeat.vim remaps `.` in a way that plugins can tap into it. With this
plugin you can, for instance, repeat commands from surround.vim.
Change rename.vim to Tim Pope's vim-eunuch

Does what rename.vim does (`:Move` or `:Rename`) **plus**:

* Adds `:Unlink` or `:Remove` to delete the current buffer + file
* Adds `:Mkdir` (with no argument, create the current file's containing
  directory)
* Adds `:SudoWrite` if you forget to edit a file as root
* Automatically chmods a file to `+x` if it starts with `#!`
* Tim Pope! :heart:
Force vertical diffs

Fugitive was updated to switch to horizontal diffs on narrow screens.
Everyone I've seen experience this behavior finds it disorienting. This
setting forces a vertical diff without users having to use different
shortcuts to enter diff mode.