こんな感じの集計コマンドを用意しました。
# 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張ってミスした結果、重要なコマンドには張らなくなった等)。来年も積極的に進めていきたいです。