chit – 基于git的cheat sheets工具

刚刚参加工作那会儿,在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库

8 thoughts on “chit – 基于git的cheat sheets工具

Comments are closed.