cat ~/.bash_history | awk '{print $1}' | sort | uniq -c | sort -r | head -10
とかやると雑に上位10位が分かると思う。シェルの設定によっては分からない(重複した履歴を保存しない、履歴のサイズが不十分、など)。
僕の手元で実行してみると、圧倒的にgitコマンドがよく使われていることが分かった。
cat ~/.bash_history | grep -e "^g\(it\)\?" | awk '{print $2}' | sort | uniq -c | sort -r | head -10
とかやってgitで何をしているのか見てみると(正規表現で書いている部分はエイリアスにも対応するため)、diffが頭ひとつ抜けてて、後はcheckout grep commit merge status logという順番で大体横並びに使っていることが分かった。
既に大体目ぼしいエイリアスは宣言していて、例えばg di
がgit diff
になるようにしているので、これ以上コマンドを省略することは難しいように感じる。gd
とか宣言しても良いけど五十歩百歩という印象がある。
結論としては、今回はvimにfugitive.vimを導入してみることにした。エディタから移動する手間なども考えるとエディタから直接gitを叩けるようにしてしまうのは効率化につながるのではないだろうか。
vimからgitを叩けるプラグインがあることは前から知っていたけど、面倒で導入しないでいた。 それが今回このように可視化することで導入する気になれて良かったと思う。
また気が向いた時によく使っているコマンドを調べてみたい。