Skip to content

A set of vim, zsh, git, and tmux configuration files.

License

Notifications You must be signed in to change notification settings

brentm5/dotfiles

 
 

Repository files navigation

thoughtbot dotfiles

Requirements

Set zsh as your login shell.

chsh -s /bin/zsh

Install

Clone onto your laptop:

git clone git://github.com/thoughtbot/dotfiles.git

(Or, fork and keep your fork updated).

Install:

cd dotfiles
./install.sh

This will create symlinks for config files in your home directory. If you include the line "DO NOT EDIT BELOW THIS LINE" anywhere in a config file, it will copy that file over instead of symlinking it, and it will leave everything above that line in your local config intact.

You can safely run ./install.sh multiple times to update.

Make your own customizations

Put your customizations at the top of files, separated by "DO NOT EDIT BELOW THIS LINE."

For example, the top of your ~/.gitconfig might look like this:

[user]
  name = Joe Ferris
  email = [email protected]

# DO NOT EDIT BELOW THIS LINE

[push]
  default = current

The top of your ~/.zlogin might look like this:

# Productivity
alias todo='$EDITOR ~/.todo'

# DO NOT EDIT BELOW THIS LINE

# recommended by brew doctor
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"

What's in it?

vim configuration:

  • Ctrl-P for fuzzy file/buffer/tag finding.
  • Rails.vim for enhanced navigation of Rails file structure via gf and :A (alternate), :Rextract partials, :Rinvert migrations, etc.
  • Run RSpec specs from vim.
  • Set <leader> to a single space.
  • Switch between the last two files with space-space.
  • Syntax highlighting for CoffeeScript, Textile, Cucumber, Haml, Markdown, and HTML.
  • Use Ag instead of Grep when available.
  • Use Exuberant Ctags for tab completion.
  • Use GitHub color scheme.
  • Use Vundle to manage plugins.

tmux configuration:

  • Improve color resolution.
  • Remove administrative debris (session name, hostname, time) in status bar.
  • Set prefix to Ctrl+a (like GNU screen).
  • Soften status bar color from harsh green to light gray.

git configuration:

  • Adds a create-branch alias to create feature branches.
  • Adds a delete-branch alias to delete feature branches.
  • Adds a merge-branch alias to merge feature branches into master.

Shell aliases and scripts:

  • b for bundle.
  • g with no arguments is git status and with arguments acts like git.
  • git-churn to show churn for the files changed in the branch.
  • load-backup-into development or load-backup-into staging to load latest production database backup into development/staging.
  • m for rake db:migrate && rake db:rollback && rake db:migrate && rake db:test:prepare.
  • mcd to make a directory and change into it.
  • production backup, production migrate, production tail, watch production ps, etc. to interact with production Heroku environment. This script also acts as a pass-through so you can do anything with it that you can do with heroku _______ -r production.
  • rake is zeus rake if using Zeus on the project in current directory.
  • replace foo bar **/*.rb to find and replace within a given list of files.
  • rk for rake.
  • rspec is zeus rspec if using Zeus on the project in current directory.
  • staging version of production script.
  • tat to attach to tmux session named the same as the current directory.
  • v for $VISUAL.

Credits

Thank you, contributors!

thoughtbot

Dotfiles is maintained by thoughtbot, inc The names and logos for thoughtbot are trademarks of thoughtbot, inc.

Dotfiles is © 2009-2013 thoughtbot, inc. It is free software and may be redistributed under the terms specified in the LICENSE file.

About

A set of vim, zsh, git, and tmux configuration files.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vim Script 48.3%
  • Ruby 26.9%
  • Shell 24.8%