こんな感じの集計コマンドを用意しました。

# historyの内容によっては export LANG=C する必要がある
$ cat ~/.zsh_history | sort | uniq -c | sort -nr | less

上記コマンドの結果を見ながら、今年よく使ったコマンドを振り返ってみます。

inspired by 今年お世話になったCLIコマンド集 - mizchi’s blog

git branch -a | fzf | xargs git checkout

インタラクティブにgit checkoutするコマンドです。詳細はQiitaに書いてます。

fzfでインタラクティブにgit checkout する - Qiita

ダントツで実行回数が多かったのでショートカットキーで起動できるようにしたほうがいい気がしてきた。

cd

これは enhanced のaliasです。

b4b4r07/enhancd: A next-generation cd command with an interactive filter

ターミナル上において大半の操作がディレクトリ移動っていう人は導入すると良いと思います。

tig

便利な git log --oneline として重宝しました。また、 tig stash でstashをいい感じに見てました。

jonas/tig: Text-mode interface for git

他にも変更をstageに追加する操作で使ってます。

git today

一日の git commmit を振り返るコマンドです。ブログに書きました。

一日のcommitを振り替える - git today - sin-tanaka.com

最近は git today | pbcopy のように使うことが多いです。

sudo networksetup -setsocksfirewallproxystate Wi-Fi [on|off]

MacOSでWiFiのネットワークインターフェースで socks_proxy を on / off するコマンドです。

システム環境設定からでも出来ますが、面倒なのでコマンド実行して切り替えています。それぞれ socks_on / socks_off のaliasを張ってます。

socks_proxy についてはあまり良くわかってませんが、リモート作業時にsshと組み合わせて便利に使っています。

ipconfig getifaddr en0 | tr -d ‘\n’

en0のローカルIPを表示するコマンドです。 このコマンドも ip というaliasを張っていて、結果を pbcopy に渡したものを ipp としています。

open .

カレントディレクトリをFinderで開くコマンドです。

他にもCordovaなどで都度生成されるxcodeprojを、 open /Applications/Xcode.app /path/to/hoge.xcodeproj のようにコマンドから立ち上げる用途でも使っていました。

charm .

カレントディレクトリをPyCharmで開くコマンドです。去年Qiitaに書きました。

PyCharmをコマンドラインから起動したい! - Qiita

PyCharm起動済だと開かないのが難点

まとめ

上位のコマンドについてはほとんどalias化されていたのでうまく効率化出来ているなぁという印象でした。

また、git関連のコマンドが圧倒的に多かったです。 ブランチ切り替えについてはショートカットキーで起動できるように対応して、git statusは.gitがあるときは何もせずとも表示されるようにすれば良い気がしてます。

効率化は単に時短になるだけでなく、副作用として得られる生の知見も多いです(実行後、不可逆なコマンドにalias張ってミスした結果、重要なコマンドには張らなくなった等)。来年も積極的に進めていきたいです。