Introducing Chit – the only Cheat Sheet you’ve ever need

Jun 21 2008

It was yesterday, one news in my GitHub feeds which really has got my attention:

defunkt started watching chit 1 hour ago

Who is defunkt anyway? Chris Wanstrath, the guy who sits behind ErrTheBlog, GitHub, FaceBox, Cheat and lots of other cool stuffs.

So, there has to have something really good in Chit! I took a quick look into it and found Chit is really Awesome!


Chit is a command line cheat sheet utility based on git.

AUTHOR: Robin Lu. Thank you, Robin!


Chit was inspired by ‘cheat’ by Chris Wanstrath. You can use chit to access and manage your cheat sheets easily.

There are several differences between ‘cheat’ and ‘chit’. By using chit, besides the wonderful features of ‘cheat’, you get:

1. Git powered cheat sheet repository. You can specify where you get the sheets and where to share them.
2. Your own private cheat sheets. Everybody has some project related or smoe cheat sheets which are not mean to public. You can also put them into chit
3. Directory support. You can group cheat sheets by directory now.
4. One less letter to type.


rubygems (You already have, don’t you?!), git (sudo gem install git) and hoe (sudo gem install hoe)


sudo gem install robin-chit -s


To get a feeling about chit:

$ chit chit

To get a cheat sheet:

$ chit [cheatsheet]

If it does not exist, a new one will be created and waiting for your editing. Leave it blank and quit the editor if you don’t want to add a new one.

To edit a cheat sheet, use the—edit switch.

$ chit [cheatsheet] –edit

To add a cheat sheet, use the—add switch.

$ chit [cheatsheet] –add

During editing a cheat sheet, empty the content will get the cheat sheet removed.

A prefix ’@’ indicates the cheat sheet is in private mode. A private cheat sheet is kept in another repository.

To get a private cheat sheet:

$ chit @[cheatsheet]

The prefix ’@’ works the same for both—edit and—add.

The cheat sheet can be in a path. For example:

$ chit mysql/select

will get the cheat sheet ‘select’ under mysql.

To show all the cheat sheets:

$ chit [all|sheets]

To show all the private cheat sheets:

$ chit @[all|sheets]

To search cheat sheets begin with ‘name’, use the—search/-s switch

$ chit name -s


Thanks git, shareing cheat sheets has never been such easier.

After the first time running chit, chit will create 2 local git repositories:

  • ~/.chit/main, which will pull out the default cheat sheets repository from
  • ~/.chit/private, which will be empty and wait for you to fill it out all your private goodies

After that, they are all yours. You can use git to do all the fancy things: push to a shared server for your team, push to github repo share with us, pull from some other shared place…


Chit GitHub Repository

Chit GitHub Wiki – Most of this post is copied from here.

chit – 基于git的cheat sheets工具 – Only if you can read Chinese

chit – cheat sheetsnowa forked chit and added custom repository config support – It was wrote in Chinese too.

Cheat + Git = ChitChris Wanstrath @ GitHub


Chit and share your sheets!

6 responses so far

  1. Could you attach any screenshots please?

  2. I am a big fan of cheat, this looks like it will be the same plus some advanced features. cheat zsh_glob zsh_glob: **/* Picks out all files and directories, recursively. ***/* Ditto, following symlinks * Any string, including the null string. ? Any character. [...] Any of the enclosed characters. Ranges of characters can be specified by separating two characters by a -. [^...] Inverse [!...] Inverse Any number in the range x to y, inclusive. Either can be omitted. ^x Anything except the pattern x. x|y Either x or y. x# Zero or more occurrences of the pattern x. x## One or more occurrences of the pattern x. (.) Files only (/) Directories only (@) Symlinks only (x) Executables only (r) Readable files only (w) Writable files only (W) World-writable files (U) Owned by you dos2unix **/*~*.(gif|png|jpg)(.) # ~ excludes dos2unix (#i)**/*~*.(gif|png|jpg)(.) # case-insensitive ls =bob # Lists file anywhere in $PATH ls **/some_file # Lists file under current directory zargs — **/*(.) — ls -l # Ditto

  3. @website design:

    You mean ‘ chit zsh_glob’, right? :)

  4. More goodies from the Author:

    bash complete

    COMPREPLY=($(compgen -W ‘$(chit all)’ — ${COMP_WORDS[COMP_CWORD]}));
    return 0
    complete -F _chit chit

    TextMate Command

    . “${TM_SUPPORT_PATH}/lib/”
    . “${TM_SUPPORT_PATH}/lib/”

    html_header “Cheat Sheet for $word”
    chit $word –no-add –html;

    Input: Selected Text

    Output: Show as HTML

  5. [...] Libin Pan has more on Chit. [...]

  6. [...] Introducing Chit – the only Cheat Sheet you’ve ever need | Libin Pan Chit is a command line cheat sheet utility based on git. (tags: chit cheat ruby rails shell bash mac osx unix cheatsheet) SHARETHIS.addEntry({ title: “links for 2008-06-24″, url: “” }); [...]

Leave a Reply