石锅拌饭

chit – 基于git的cheat sheets工具

by Robin Lu on Jun.20, 2008, about , , ,

刚刚参加工作那会儿,在Bell Labs China ,看到很多老员工都有一个叫magic的文件,里面存着各种常用命令行,代码和奇怪的数字. 跑着solaris的sparc,配着三键鼠标,这个窗口一划,选中需要的命令,那个窗口中键一点就paste上去了,噼里啪啦的效率颇高.


这个东西还有个叫法,叫cheat sheet, 就是考试作弊放在下面抄的那个东西. 网上有各种各样的cheat sheet, errblog甚至有一个叫cheat的小程序,一个命令行,比如 cheat strftime ,就能列出strftime里面那些奇怪的字符都对应什么内容,非常好用. 还没那么简单,你可以自己添加和修改cheat sheet,而这些cheat sheet都通过web service保存在一个集中的wiki里,大家一起cheat.

这个小工具我相当喜欢,但是用了一段时间还是有些不满意的地方.首先是每次想添加和修改cheat sheets的时候都很犹豫,怕自己加了别人不需要的东西,给人添麻烦.另一方面,我自己有一些和项目相关cheat sheets,很想用同样的方式来组织,但是又不可能提交进去.

其实,做这件事做好的后端是git, 可以把git看做是一个分布式wiki的内核.用git做这件事有很多好处:

  1. 天然具备版本管理的功能
  2. 非常灵活的分享策略.你可以自己选择从那里得到cheat sheet,又分享到哪里去.
  3. 访问速度更快,因为git的repository就在本地.
  4. 更灵活的目录结构.cheat本身受实现的影响不支持目录结构.

于是,就有了 ‘chit’ , 一个基于git的cheat sheet工具. 我把它放在了github上.

安装

sudo gem install robin-chit -s http://gems.github.com

安装完运行一下

chit --init

会自动完称配置.

运行

如果要得到一个cheat sheet,比如mysql的cheat sheet,直接在命令行输入:

chit mysql

如果要修改:

chit mysql --edit

如果要添加:

chit ahaha --add

同时,你还拥有一个private的cheat sheets库.访问和添加的方法是在cheat sheet名字前面加一个’@’.私有的cheat sheets保存在一个单独的git repository里,不会和public的部分有关联.
比如要添加一个私有的cheat sheet

chit @robin --add

访问它:

chit @robin

还有一个有用的命令,就是列出所有的cheat sheets的名称:

chit all

列出所有私有的cheat sheets当然就是

chit @all

分享

拜git所赐, 分享cheat sheets会非常容易.

chit其实创建了两个git repositories, 分别在~/.chit/main 和 ~/.chit/private下,对应缺省的cheat sheets和私有的cheat sheets, 你可以随时将这个两个cheat sheet库push到任何一个地方,和你的朋友或者同事分享.别人可以选择添加一个remote branch,随时merge,也可以干脆修改~/.chitrc,在chit第一次init时从指定的地址得到cheat sheet库,以后随时通过pull来同步. 完全由你自己掌握.

目前版本0.0.3, 欢迎大家使用,欢迎各种意见建议.

项目主页
项目wiki
缺省cheat sheets库

:, , ,

6 Comments for this entry

2 Trackbacks / Pingbacks for this entry

Search

Archives

Browse by tags

agile apple blog book design ecto extension firefox git google hack ichm iphone keyword life mac madfox movie nonsense opensource plugin pm ruby rubyonrails sns software startup wordpress work 财帮子