Set zsh as your login shell.
chsh -s /bin/zsh
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.
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 = jferris@thoughtbot.com
# 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"
vim configuration:
- Ctrl-P for fuzzy file/buffer/tag finding.
- Rails.vim for enhanced navigation of
Rails file structure via
gfand:A(alternate),:Rextractpartials,:Rinvertmigrations, 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-branchalias to create feature branches. - Adds a
delete-branchalias to delete feature branches. - Adds a
merge-branchalias to merge feature branches into master.
Shell aliases and scripts:
bforbundle.gwith no arguments isgit statusand with arguments acts likegit.git-churnto show churn for the files changed in the branch.load-backup-into developmentorload-backup-into stagingto load latest production database backup into development/staging.mforrake db:migrate && rake db:rollback && rake db:migrate && rake db:test:prepare.mcdto 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 withheroku _______ -r production.rakeiszeus rakeif using Zeus on the project in current directory.replace foo bar **/*.rbto find and replace within a given list of files.rkforrake.rspeciszeus rspecif using Zeus on the project in current directory.stagingversion ofproductionscript.tatto attach to tmux session named the same as the current directory.vfor$VISUAL.
Thank you, contributors!
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.
