Exclude Brewfile

It is project-specific, not intended for machine configuration.
Only set nocompatible once as early as possible

* Setting nocompatible has side effects
* Setting it again (even if set) repeats side effects
* Settings like ruler will be reset if set again
Add HISTFILE to save zsh history

History file needs to be specified or otherwise the history would not be saved
over multiple terminal sessions.
[Source](http://zsh.sourceforge.net/FAQ/zshfaq03.html#321)
Don't set $EYRC

We don't use Engine Yard anymore.
Combine zlogin settings into zshrc

* easier when everything is just one file
* most (if not all) interactive shells are login shells and we likely want those
  settings for interactive shells
Remove leftover snippets variable
Also look for dotfiles-local

While trying out the approach outlined in Croaky's latest [blog post], I
realized that running `rcup` would not also pull updates from my local
extensions. If you clone your extensions as `dotfiles-local`, this
update will pick them up.

Non-existent directories are ignored by rcup, so it won't cause issues
if you don't have `dotfiles-local`.

[blog post]: http://robots.thoughtbot.com/manage-team-and-personal-dotfiles-together-with-rcm
Don't attempt to autocorrect spelling

This frequently catches false positives for aliases, particularly for
subcommands. It also takes just as long to look at the autocorrect
prompt and select "y" as it does to just retype the command yourself.
Use default 'complete' Vim setting

Default setting is `.,w,b,u,t,i`:

* `.`: scan the current buffer ('wrapscan' is ignored)
* `w`: scan buffers from other windows
* `b`: scan other loaded buffers that are in the buffer list
* `u`: scan the unloaded buffers that are in the buffer list
* `t`: tag completion
* `i`: scan current and included files

The default setting is more likely to find a useful match, and modern
machines can search many open and unloaded buffers without pausing.
Remove gi and giv aliases

Often mistyping things like `gi tst` causes `gi` alias to trigger the install of
the `tst` gem. This is quite annoying and too close to `git` command which we
run much more often than `gem install`. With bundler we should almost never run
`gem install`.
Improve zsh history

* "to the $HISTFILE incrementally (as soon as they are entered), rather than
  waiting until the shell exits"
* replace any duplicate in the history, not just the previous duplicate: allows
  for a cleaner history
* `.zhistory` is more idiomatic than `.zsh_history`
Add syntax highliting for slim via vim-slim

We are using slim more and more on projects.
Remove RSpec -- profile option

* This option adds a lot of noise to test output
* Extra noise often means scrolling
* The profile includes red, which makes me think tests fail
* Profiling isn't useful when running one or a few tests
* I'm usually not in the mindset of profile tests, so I ignore it
Personal files take precedence over stock files

* First directory listed in .rcrc takes precedence
* We want local config to override general config
Remove functions wrapping Zeus

Project should be moving over to spring, as this is the 'blessed'
approach and is part of suspenders. Leaving these functions around adds
yet another layer of indirection to consider when trying to run these
commands:

* function wrapper
* binstub
* rbenv shim
* actual binary
Remove trailing whitespace in gitmessage
Automatically prune remote branches when fetching

* Removes the need to occasionally run `git remote prune`.
* Remove branches when fetching instead of deleting other branches.

https://trello.com/c/ePlghTll/249-configure-git-to-prune-on-fetch
Add vim-mkdir

`:e some/non_existent_directory/new_file.txt` usually errors out because
the directory does not exist, but with `vim-mkdir` the non-existent
directory will be created automatically.
Enable shiftround

With `shiftround` enabled, using `>>` will indent the line to the next
multiple of `shiftwidth`. This is useful when you are indenting
improperly indented code.
Run commands interactively from vim

This allows us to do things like:

    <Leader>r migrate