zplug と tpm を導入して hammerspoon を自動更新するようにした

どうもブログの更新が滞ってしまう。日常的に行っていることをトリガーにしてブログを書くようにすればもっと書こうという気になるだろう。

というわけで dotfiles を更新したらその内容を書き出すようにしてみようと思う。(Qiitaに書こうかとも思ったけど、個人的な話題だし個別の何かの説明とかじゃないのでブログに書くことにする)

ちなみに僕の dotfiles は以下。dotfiles の管理そのものには特別なツールは使っていない。

github.com

zplug を使い始めた

これまでも zaw や zsh-completions などの zsh プラグインは使っていたが、すべて git submodules を使って管理していた。2010 年くらいに oh-my-zsh を使って手痛い目にあってから zsh のプラグインマネージャ的なものを使うことに抵抗感を覚えるようになってこういう素朴な運用になったのだけど、さすがに 2017 年ならいいのがあるだろうと思い一念発起して探してみることにした。

調べた感じ世の中的には antigen がよく使われるらしい。Web+DB Press vol.83 (くらい)の zsh 特集でもこれを使っていた。でも

Antigen is to zsh, what Vundle is to vim.

と README に書かれていて、 Vundle があまり好きになれなかった身なので、なんか引っかかる。vim-plug くらいのシンプルさがいいよ。

というわけでもう少し探索したところ zplug を見つけた。 README に

  • 🌺 It was heavily inspired by vim-plug, neobundle.vim and the like.

と書いてある。作者の id:b4b4r07 さんは Qiita でもお世話になっているのでこれを使ってみることにする。 zplug にして今まで zshrc の一番最後で読み込んでいた zsh-syntax-highlighting を好きなところで宣言できるようになったのが地味な進歩。インストール時のアニメーションがかっこいいのもなんか嬉しい。

tpm 使い始めた

zplug の使い方を調べる過程のどこかで tpm の存在を知る。いつの間に tmux にプラグイン機構が入ってたんだ。zsh でプラグインマネージャを導入するんだからついでにこっちも入れてみようと思って導入することにした。特に競合は調べていないけど、たぶんこれしか無いだろう。

色々な便利プラグインがあるみたいだけど、一度に新しいものを導入しても結局使いこなせなくなってしまうので、ひとまず新しい機能を追加するプラグインは 1 つにとどめて、他は今まで .tmux.conf に自分で書いていた設定を置き換えてくれるやつだけにしておいた。

tpm の README をみたらキーバインドでプラグインをインストールする方法が書かれていたけど、更新時に dotfiles が更新されたら自動的にインストールして欲しかったので dotfiles-sync (dotfiles を同期する自前のコマンド)の中で明示的に実行するようにした。

上で書かなかったけど zplug も同様にインストールするようにした。(綺麗な git コミットが無いので割愛した)

hammerspoon を自動更新するようにした

macOS Sierra にしてから hammerspoon にずっとお世話になっている。hammerspoon 以外で触れる機会がないけど Lua 悪くないなって思う。

hammerspoon でだいたいうまくいくんだけど、たまに設定がバグってしまうことがあって、その都度メニューバーから Reload Config を選択していた。流石に面倒なので調べたら公式ドキュメントにそれにキーバインドを当てる方法が書かれていた。ということでそれを追加した。

で、その公式ドキュメントの次の項目が $HOME/.hammerspoon 以下を監視して、 Lua スクリプトに変更があったら自動的にリロードするというものが書かれており、明らかに良さそうだったのでそれも導入した。

その他

ここに書いた以外にも

  • vim で syntastic をやめて ale を使い始めた
  • vim で easy-motion のバージョンを上げたら色々と捗るようになった

などの変化があった。機会があれば書く。