継続的に作業効率の向上に努めていて頭が下がる。自分はそういうことに十分注意を払えていないなと気付かされた。
これまで数年ごとにカスタマイズ至上主義とノーマル至上主義を行ったり来たりしていて、最近は「他人のマシンを使うことなんて滅多にないのだから(リモートワークなので)積極的にカスタマイズすべき」に傾きつつある。とはいえ拡張プラグインの類を入れすぎると長期的には不安定になるので、出来の良いプリセットを選び(Doom Emacs とか、使ってないけど oh-my-zsh とか)、単純だが効果的なカスタマイズを優先し(まさにシェルのエイリアスとか)、難しいことは得意なツールを併用する(何もかも Emacs でやらない、Go の lsp-mode のセットアップに苦労して時間を溶かすくらいなら VS Code を使う)、みたいなバランス感覚でやっている。
仕事用のマシン。なぜか ~/.zsh-history
になっていた(_
ではなく -
)。どこかから拾ってきた設定を闇雲に使いまわしたせい。
❯ wc -l ~/.zsh-history 62416 /Users/kyanny/.zsh-history
このマシンを使い始めて一年半。あまりコマンドラインを使って(使えて)いない。もっぱらブラウザばかり使っているからと、magit のおかげも多少はありそう。
❯ history 1 | awk '{ print $2 }' | sort | uniq -c | sort -nr | head 8186 git 5217 gh 2876 cd 2265 ls 2236 cat 1985 rg 1631 ruby 1534 ll 1451 vim 1378 bash
alias g=git
は元からあったのにまったく使っていない。これを機に一文字エイリアスをちゃんと認識して使っていきたい。tig
は上位には出てきていないが alias t='tig'
は追加した。
❯ history 1 | awk '{ print $2,$3 }' | sort | uniq -c | sort -nr | head -n 20 1518 git s 1347 ls 1321 gh pr 1251 ll 1131 git pp 1006 em . 957 git co 933 pbpaste|./bs-review.rb 912 gh mine 799 gh api 782 gh co 657 tig 462 docker run 450 git log 442 cd .. 440 git push 429 git com 427 git a 417 git ci 403 open-draft
サブコマンド含めた集計結果。これは少し解説が必要だろう。
git pp
は ~/.gitconfig
で pp = !git pull -p && git-delete-merged-branches
と定義しているやつで、https://github.com/kyanny/git-delete-merged-branches を使っている。ls
並に手癖で打っているのでエイリアス候補だなと思って alias gp='git pp'
としてみた。
em .
は https://github.com/mori-dev/em でカレントディレクトリを開くときに使う。参考: emacsclient のお供に em - @kyanny's blog これも一日に何度も打つのですでに十分短いが alias e='em .'
としてみた。
pbpaste|./bs-review.rb
というのは込み入っていて、個人的な仕事のワークフローの一部。仕事では Zendesk を使って顧客からの問い合わせを受け付けたり返信したりしているが、返信はテキストエディタで書きたいし、書いた内容はバージョン管理下に置きたいし、各返信ごとに Pull Request の permalink も欲しい(URL があると色々便利なので)。そこで、Zendesk の内部 API を叩いてチケットのタイトルや本文をクリップボードにコピーする自作 userscript を Violentmonkey にインストールしていて、クリップボードから読み出したデータをもとに社内専用の GitHub Enterprise Server インスタンスに作った個人リポジトリに Pull Request を作り、返信を書き終わったらマージ、というワークフローを構築した。bs-review.rb
というスクリプトが Pull Request を作るやつ。このコマンドも毎日何度も実行するので、bs-review.rb
を pr
にリネームして p|./pr
と短く打てるようにした。
gh mine
は GitHub CLI のエイリアスで、gh pr list -a kyanny
の略。これも仕事のワークフローで以前は頻繁に使っていたけど、今はあまり使わなくなった。
open-draft
は上記のワークフローで昔 VS Code をエディタとして使っていた頃の名残で、返信を書くべきファイルをエディタで開くのが若干手間だったので一発で開くショートカットとして使っていた。Emacs の markdown-mode が意外に強力だと知って以来 VS Code ではなく Emacs で書くようになったので(参考: Emacs: markdown-mode は Markdown ファイルを Typora みたいな WYSIWYG な見た目でも編集できる - @kyanny's blog])、それ以来使わなくなってエイリアスも消した(Emacs の場合 magit 経由で比較的少ない手間で対象ファイルを開けるようになったので)。
あとは alias p=pbpaste
と alias pc=pbcopy
も追加した。pbpaste
は特にたくさん使うのに、pbp
まで打たないとタブで補完できないため。
エイリアス、追加したはいいが指が覚える前に忘れてしまうことばかりなので、丁寧に覚え込ませていきたい。