Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

My dotfiles

branch: master
Octocat-spinner-32 .config fish: use silver searcher over ack December 11, 2013
Octocat-spinner-32 .hgext added: Bundling mercurial extensions. February 26, 2011
Octocat-spinner-32 .mutt YAY MUTT SETTINGS April 04, 2013
Octocat-spinner-32 .oh-my-zsh @ bd00365 update: oh-my-zsh. November 08, 2011
Octocat-spinner-32 .scripts Fixed git-rank-contributers for ruby 1.9 July 31, 2012
Octocat-spinner-32 .vim Add custom coffeescript vim snippets January 08, 2014
Octocat-spinner-32 .ackrc Renamed all the files/dirs. Reformatted some of the files. Stole a co… February 21, 2010
Octocat-spinner-32 .aliases Finally, a proper tmux config September 05, 2012
Octocat-spinner-32 .aprc added: Awesome Print RC. September 21, 2010
Octocat-spinner-32 .bash_profile Use consistent includes. Fixes #4 August 04, 2012
Octocat-spinner-32 .bash_prompt Fixed prompt for multiple versions of git status command. July 05, 2013
Octocat-spinner-32 .coffeelint.json Update syntastic.vim configuration August 16, 2013
Octocat-spinner-32 .commonrc Properly set locale February 25, 2013
Octocat-spinner-32 .functions cjson now supports local files April 17, 2012
Octocat-spinner-32 .gemrc Added .gemrc February 21, 2010
Octocat-spinner-32 .gitattributes Added git diffing for images, thanks @jasonwebster March 30, 2012
Octocat-spinner-32 .gitconfig Don't bold the things in git October 18, 2013
Octocat-spinner-32 .gitmodules Add rspec.vim submodule December 03, 2013
Octocat-spinner-32 .gvimrc Hide scrollbars in GUI vim October 09, 2013
Octocat-spinner-32 .hgignore mercurial config stuff February 07, 2011
Octocat-spinner-32 .hgrc fixed: Clojure.vim bundle. January 01, 2012
Octocat-spinner-32 .hushlogin Added .hushlogin to improve shell login time April 26, 2012
Octocat-spinner-32 .inputrc add: Better clojure wrapper and clojure completion script. December 31, 2011
Octocat-spinner-32 .irbrc added: Awesome Print to irb. September 21, 2010
Octocat-spinner-32 .msmtprc Mutt mail config, mostly copied from @sjl March 27, 2013
Octocat-spinner-32 .notmuch-config Mutt mail config, mostly copied from @sjl March 27, 2013
Octocat-spinner-32 .offlineimaprc YAY MUTT SETTINGS April 04, 2013
Octocat-spinner-32 .tmux.conf Pane resizing and switching March 18, 2013
Octocat-spinner-32 .urlview Mutt mail config, mostly copied from @sjl March 27, 2013
Octocat-spinner-32 .vimrc vim: ack.vim to use silver searcher over ack December 11, 2013
Octocat-spinner-32 .zshrc Use consistent includes. Fixes #4 August 04, 2012
Octocat-spinner-32 README.md LOL WHOOPS August 26, 2013
Octocat-spinner-32 bootstrap.sh bootstrap: ignore .gitmodules file December 11, 2013
README.md

Installation

Prerequisites

  • Git (1.8+ recommended)
  • Mercurial (1.6+ recommended)
  • Vim (7.3+ recommended)
  • Tree
  • Pygments
  • xmllint

Optional, but recommended:

Bootstrapper

The bootstrapper will back up all your existing files before it installs anything new, it'll also warn you if a dependency isn't met.

$ bash < <( curl https://raw.github.com/gf3/dotfiles/master/bootstrap.sh )

Don't worry, all your old files will be backed up!

Stay Updated

Run the bootstrapper again!

$ ~/.dotfiles/bootstrap.sh

Vim

Overview of the vim setup. Sensible defaults for all the things!

Mappings

Reference to vim mappings.

General

  • ,a= Tabularize on assignment (=)
  • ,a=> Tabularize on hash rocket keys (=>)
  • ,a: Tabularize on hash/object/dict keys (:)
  • ,a, Tabularize on comma (,)
  • ,c Toggle invisibles.
  • ,ls Show buffers (same as :buffers).
  • ,p Toggle paste mode.
  • ,qs Toggle search highlight.
  • ,qq Close Quickfix window (think Ack.vim).
  • ,rp Toggle Rainbow Parenthesis.
  • ,ss Strip all trailing whitespace in buffer.
  • ,W Sudo write!
  • Y Yank from cursor to end of line (same as y$).
  • ,* Replace word under cursor.
  • ,] Indent current block.
  • ,[ Outdent current block.
  • ,⏎ Insert newline.
  • ' Actually calls ` for better mark jumping (line + column).
  • J Join lines and restore cursor position.

Some handy aliases for hard to type things that I use often:

  • >> to
  • << to
  • ^^ to
  • VV to
  • aa to λ

As well , , , and may be used in completions menus. <PageUp> and <PageDown> work in both insert and command mode.

Splits

  • + Increase split size.
  • - Decrease split size.
  • ^j Go to split below.
  • ^k Go to split above.
  • ^h Go to split left.
  • ^l Go to split right.

Commands

  • :W Alias to :w because I'm always typing it.
  • :R Get the output of shell commands.

Plugins

Installed plugins and syntax files.

  • Ack
  • Clojure
  • Cocoa
  • CoffeeScript
  • CSS-color
  • CtrlP
  • Fish
  • Gist
  • Haml
  • Handlebars
  • Indent Guides
  • Jade
  • Javascript
  • Markdown
  • Nerdcommenter
  • Nu
  • Powerline
  • Pathogen
  • Racket
  • Rails
  • Rainbow Parenthesis
  • Repeat
  • Ruby
  • Scala
  • Slim
  • Snipmate
  • Stylus
  • Surround

iPad

Rudimentary support for vim on the iPad has been added via usage of the xterm-ipad $TERM value. In this mode <Tab> is <Esc> and ,<Tab> is <Tab>.

Shell

Most of the shell junk is setup to work in both zsh and bash. Bash users should see .bash_profile and .bash_prompt.

Aliases

Check out .aliases

Scripts

Additional useful scripts bundled:

  • ack
  • bookmarklet

Fonts

If you want to take full advantage of airline.vim you'll want to install and use one of the Powerline fonts. I recommend either Meslo or Deja Vu Sans Mono. If you choose something other than Meslo don't forget to update your .gvimrc.

Git

I've included some handy git script additions as well as configution changes. Have a look at .gitconfig to see various aliases and settings.

Additional scripts (see .scripts directory for source):

  • git-publish-branch
  • git-rank-contributors
  • git-rbranch
  • git-review
  • git-show-merges
  • git-wtf

Configurations

Sensible configurations exist for:

  • Ack
  • Awesome Print
  • RubyGems
  • Git
  • IRB
  • TMUX
  • Vim
  • GVim / MacVim

...and more!

Something went wrong with that request. Please try again.