config files for zsh, bash, completions, gem, git, irb, rails
Shell Vim script Ruby
Switch branches/tags
Nothing to show
Pull request Compare This branch is 64 commits ahead, 16 commits behind ryanb:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
emacs.d @ e491c4f


Ryan Bates stolen dotfiles



<F4> toggle paste mode
<space> no highlight
jk works as <ESC> in insert mode


,t :CommandT
,b :LustyBufferExplorer
,lb :LustyBufferGrep


,. next buffer
,m previuos buffer

Nerd Commenter

[n],cc Comment out the current line or text selected in visual mode.
[n],cn Same as ,cc but forces nesting.
[n],c<space> Toggles the comment state of the selected line(s). 
             If the topmost selected line is commented, all selected lines 
             are uncommented and vice versa.
[n],cm Comments the given lines using only one set of multipart delimiters.
[n],ci Toggles the comment state of the selected line(s) individually.
[n],cs Comments out the selected lines 'sexily'
[n],cy Same as ,cc except that the commented line(s) are yanked first.
,c$ Comments the current line from the cursor to the end of line.
,cA Adds comment delimiters to the end of line and goes into insert mode
    between them.
,ca Switches to the alternative set of delimiters.
[n],cb Same as ,cc except that the delimiters are aligned down the
       left side (,cl) or both sides (,cb).
[n],cu Uncomments the selected line(s).

Nerd Commenter based commands, which accepts ranges. No range means whole file.

:Ct = ,c<space>
Rest is adequate:
:Cc, :Cn, :Cm, :Ci, :Cs, :Cy, :Cl, :Cb, :Cu

Original Ryan's readme

These are config files to set up a system the way I like it.


git clone git:// ~/.dotfiles
cd ~/.dotfiles
rake install


I am running on Mac OS X, but it will likely work on Linux as well with minor fiddling. I primarily use zsh, but this includes some older bash files as well. If you would like to switch to zsh, you can do so with the following command.

chsh -s /bin/zsh


I normally place all of my coding projects in ~/code, so this directory can easily be accessed (and tab completed) with the “c” command.

c railsca<tab>

There is also an “h” command which behaves similar, but acts on the home path.

h doc<tab>

Tab completion is also added to rake and cap commands:

rake db:mi<tab>
cap de<tab>

To speed things up, the results are cached in local .rake_tasks~ and .cap_tasks~. It is smart enough to expire the cache automatically in most cases, but you can simply remove the files to flush the cache.

There are a few key bindings set. Many of these require option to be set as the meta key. Option-left/right arrow will move cursor by word, and control-left/right will move to beginning and end of line. Control-option-N will open a new tab with the current directory under Mac OS X Terminal.

If you're using git, you'll notice the current branch name shows up in the prompt while in a git repository.

If you're using Rails, you'll find some handy aliases (below). You can also use show_log and hide_log in script/console to show the log inline.

ss       # script/server
sc       # script/console
sg       # script/generate
a        # autotest
tlog     # tail -f log/development.log
rst      # touch tmp/restart.txt
migrate  # rake db:migrate db:test:clone
scaffold # script/generate nifty_scaffold

See the other aliases in ~/.zsh/aliases

If there are some shell configuration settings which you want secure or specific to one system, place it into a ~/.localrc file. This will be loaded automatically if it exists.

There are several features enabled in Ruby's irb including history and completion. Many convenience methods are added as well such as “ri” which can be used to get inline documentation in IRB. See irbrc and railsrc files for details.