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 = [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"
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
forbundle
.g
with no arguments isgit status
and with arguments acts likegit
.git-churn
to show churn for the files changed in the branch.m
forrake db:migrate && rake db:rollback && rake db:migrate && rake db:test:prepare
.mcd
to make a directory and change into it.rake
iszeus 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
forrake
.rspec
iszeus rspec
if using Zeus on the project in current directory.tat
to attach to tmux session named the same as the current directory.v
for$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.