2011-03-24 13:14:28 -04:00
|
|
|
thoughtbot dotfiles
|
|
|
|
===================
|
|
|
|
|
2012-10-21 15:10:47 -07:00
|
|
|
Requirements
|
|
|
|
------------
|
|
|
|
|
|
|
|
Set zsh as your login shell.
|
|
|
|
|
|
|
|
chsh -s /bin/zsh
|
|
|
|
|
2011-03-24 13:14:28 -04:00
|
|
|
Install
|
|
|
|
-------
|
|
|
|
|
2013-03-03 21:13:16 -08:00
|
|
|
Clone onto your laptop:
|
2011-03-24 13:14:28 -04:00
|
|
|
|
2013-03-03 21:13:16 -08:00
|
|
|
git clone git://github.com/thoughtbot/dotfiles.git
|
|
|
|
|
|
|
|
(Or, [fork and keep your fork
|
|
|
|
updated](http://robots.thoughtbot.com/post/5133345960)).
|
|
|
|
|
|
|
|
Install:
|
2011-12-04 18:22:58 -05:00
|
|
|
|
|
|
|
cd dotfiles
|
2011-03-24 13:14:28 -04:00
|
|
|
./install.sh
|
|
|
|
|
2013-07-08 22:09:44 -07:00
|
|
|
This will create symlinks for config files in your home directory.
|
2011-03-24 13:14:28 -04:00
|
|
|
|
2012-10-21 15:10:47 -07:00
|
|
|
You can safely run `./install.sh` multiple times to update.
|
2011-08-10 11:32:44 -03:00
|
|
|
|
2012-10-21 15:10:47 -07:00
|
|
|
Make your own customizations
|
|
|
|
----------------------------
|
|
|
|
|
2013-07-08 22:09:44 -07:00
|
|
|
Put your customizations in dotfiles appended with `.local`:
|
2012-10-21 15:10:47 -07:00
|
|
|
|
2013-07-08 22:09:44 -07:00
|
|
|
* `~/.aliases.local`
|
|
|
|
* `~/.gitconfig.local`
|
2013-07-22 22:17:02 -06:00
|
|
|
* `~/.gvimrc.local`
|
|
|
|
* `~/.vimrc.local`
|
2013-07-08 22:09:44 -07:00
|
|
|
* `~/.zshrc.local`
|
2011-03-24 13:35:49 -04:00
|
|
|
|
2013-07-08 22:09:44 -07:00
|
|
|
For example, your `~/.aliases.local` might look like this:
|
2011-12-07 18:35:29 -05:00
|
|
|
|
2013-07-08 22:09:44 -07:00
|
|
|
# Productivity
|
|
|
|
alias todo='$EDITOR ~/.todo'
|
2012-10-21 15:10:47 -07:00
|
|
|
|
2013-07-08 22:09:44 -07:00
|
|
|
Your `~/.gitconfig.local` might look like this:
|
2012-10-21 15:10:47 -07:00
|
|
|
|
2013-07-08 22:09:44 -07:00
|
|
|
[alias]
|
|
|
|
l = log --pretty=colored
|
|
|
|
[pretty]
|
|
|
|
colored = format:%Cred%h%Creset %s %Cgreen(%cr) %C(bold blue)%an%Creset
|
|
|
|
[user]
|
|
|
|
name = Dan Croak
|
|
|
|
email = dan@thoughtbot.com
|
2011-12-07 18:35:29 -05:00
|
|
|
|
2013-07-08 22:09:44 -07:00
|
|
|
Your `~/.zshrc.local` might look like this:
|
2011-12-07 18:35:29 -05:00
|
|
|
|
2013-07-08 22:09:44 -07:00
|
|
|
# load rbenv
|
|
|
|
eval "$(rbenv init -)"
|
2012-10-21 15:10:47 -07:00
|
|
|
|
2011-12-07 18:35:29 -05:00
|
|
|
# recommended by brew doctor
|
|
|
|
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
|
|
|
|
|
2013-03-03 21:13:16 -08:00
|
|
|
What's in it?
|
|
|
|
-------------
|
|
|
|
|
|
|
|
[vim](http://www.vim.org/) configuration:
|
|
|
|
|
|
|
|
* [Ctrl-P](https://github.com/kien/ctrlp.vim) for fuzzy file/buffer/tag finding.
|
|
|
|
* [Rails.vim](https://github.com/tpope/vim-rails) for enhanced navigation of
|
|
|
|
Rails file structure via `gf` and `:A` (alternate), `:Rextract` partials,
|
|
|
|
`:Rinvert` migrations, etc.
|
|
|
|
* Run [RSpec](https://www.relishapp.com/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](https://github.com/ggreer/the_silver_searcher) instead of Grep when
|
|
|
|
available.
|
|
|
|
* Use [Exuberant Ctags](http://ctags.sourceforge.net/) for tab completion.
|
|
|
|
* Use [GitHub color scheme](https://github.com/croaky/vim-colors-github).
|
|
|
|
* Use [Vundle](https://github.com/gmarik/vundle) to manage plugins.
|
|
|
|
|
|
|
|
[tmux](http://robots.thoughtbot.com/post/2641409235/a-tmux-crash-course)
|
|
|
|
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](http://git-scm.com/) 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.
|
2013-04-14 10:57:44 -07:00
|
|
|
* Adds an `up` alias to fetch and rebase `origin/master` into the feature
|
|
|
|
branch. Use `git up -i` for interactive rebases.
|
2013-03-03 21:13:16 -08:00
|
|
|
|
|
|
|
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.
|
|
|
|
* `m` for `rake db:migrate && rake db:rollback && rake db:migrate && rake db:test:prepare`.
|
|
|
|
* `mcd` to make a directory and change into it.
|
|
|
|
* `rake` is `zeus rake` if using [Zeus](https://github.com/burke/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.
|
|
|
|
* `tat` to attach to tmux session named the same as the current directory.
|
|
|
|
* `v` for `$VISUAL`.
|
2012-09-14 11:22:33 -07:00
|
|
|
|
|
|
|
Credits
|
|
|
|
-------
|
|
|
|
|
2013-03-06 11:01:26 -08:00
|
|
|
Thank you, [contributors](https://github.com/thoughtbot/dotfiles/contributors)!
|
2013-06-18 16:47:01 -07:00
|
|
|
Also, thank you to Corey Haines, Gary Bernhardt, and others for sharing your
|
|
|
|
dotfiles and other shell scripts from which we derived inspiration for items
|
|
|
|
in this project.
|
2012-09-14 11:22:33 -07:00
|
|
|
|
2012-10-21 15:10:47 -07:00
|
|
|

|
2012-09-14 11:22:33 -07:00
|
|
|
|
2012-10-21 15:10:47 -07:00
|
|
|
Dotfiles is maintained by [thoughtbot, inc](http://thoughtbot.com/community)
|
2012-09-14 11:22:33 -07:00
|
|
|
The names and logos for thoughtbot are trademarks of thoughtbot, inc.
|
|
|
|
|
2013-01-06 01:24:19 -08:00
|
|
|
Dotfiles is © 2009-2013 thoughtbot, inc. It is free software and may be
|
2013-04-22 20:06:33 -07:00
|
|
|
redistributed under the terms specified in the [LICENSE](LICENSE) file.
|