notebook

都内でWEB系エンジニアやってます。

cheatシート

長めのワンライナーとか、よく使うけど1からタイプするには長いし、覚えられないし.....

結構使うけど忘れがちなコマンドオプションとか、manを読んで探すのも長くて面倒だし.....

自分で作ったコマンドの使用例は、毎度コード読んで使い方思い出したり.....

という時に使えそうなcheatというコマンドがあるようです

cheat

リンク先のとおりなのですがチートシート的な扱いで使えるようです

早速試してみます

インストール

CentOS6.4

yum install python-setuptools
easy_install pip
pip install cheat

これだけ、とりあえず何か引いてみる

$ cheat awk
# sum integers from a file or stdin, one integer per line:
printf '1\n2\n3\n' | awk '{ sum += $1} END {print sum}'

# using specific character as separator to sum integers from a file or stdin
printf '1:2:3' | awk -F ":" '{print $1+$2+$3}'

# print a multiplication table
seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}'

awkのようにデフォルトでチートシートがあるコマンドもあります

自分で書いて設定することもできて~/.cheatに自分で作成したチートシートを置くことで参照できます

既にチートシートがあるコマンドのファイルを作成すると出力は上書きされる模様

$ cat .cheat/awk

Edit Cheat Sample

$ cheat awk

Edit Cheat Sample

チートシートのリスト

チートシート一覧を見ることができます

cheat -l

ディレクトリ

チートシートを置く場所を設定できます

export DEFAULT_CHEAT_DIR=~/dotfiles/cheatsheets
export CHEATPATH=$CHEATPATH:~/project/cheatsheets

共通で使うものはDEFAULT、プロジェクトとか会社用にCHEATPATHに追加、みたいな使いかたができるのでプロジェクト固有の名詞とかも会社用のリポジトリに登録しとけば気にせずそのまま登録できて貼り付けるだけで使えます!便利

ただ、パスなので同じファイル名のチートシートがあった場合は先に見つかるものが優先される模様

$ cheat -l | grep home
git            /home/vagrant/dotfiles/cheatsheets/git
oneliner       /home/vagrant/dotfiles/cheatsheets/oneliner
# プロジェクト用
trouble        /home/vagrant/project/cheatsheets/trouble

ハイライト

syntax hirightを利かせることができます

export CHEATCOLORS=true

まとめ

alias、functionで登録していたオリジナルなコマンドなども作ったときにcheatに登録しておけば便利そう

あれ?どういう使い方だったっけ?

どんなコマンドあったっけ?みたいな時に使えると思います

また、コマンド単位でなくても良いので粒度は自由にできるため、使い方は色々ありそう

よくあるトラブルシュート用のコマンドを羅列しておけば、いちいちググらなくて良かったりして便利そうですね