zshのPluginを作ってみた(『zsh-ghq-fzf』 - 「ghq」のリポジトリに「fzf」で選択して移動する)


tl;dr

zsh初心者で、zshrcの改造中です。
その中で気になったことがありました。

ghqfzfpecoといったfuzzy finderを組み合わせてzshで使う記事はたくさんあります。
しかし、ghqとfzfを組み合わせたzsh pluginは見当たりません。

また、zshにPluginを入れる記事はたくさんありますが、Pluginを作る記事もありません。

そこで、ghqとzshを組み合わせて使うPluginを作ってみることにしました。

Pluginの作り方

今回は、Plugin Managerにzplugを使います。
Antigen等の他のPlugin Managerでうまくいくはずです。

  1. githubにプラグイン名でリポジトリを作る
  2. プラグイン名.plugin.zshファイルを作る
  3. .zshrcに以下のように記述する
zplug ユーザー名/リポジトリ名

# 実際に作ったPluginを使うと以下のようになる
zplug migutw42/zsh-fzf-ghq

成果物

zsh-fzf-ghq

調査

検索しても見つからなかったので、awesome-zsh-pluginsのPlugin一覧を見てどのように作っているかを眺めてみました。
すると、基本的には、一番上の階層のディレクトリにプラグイン名.plugin.zshでファイルを作っているだけというのが多かったです。
Plugin Managerによって挙動が違うかもしれませんが、多分一番上の階層のディレクトリにあるzshファイルが全部読み込まれるので、ファイル名自体はなんでもいいはずですが、慣習的にこのような名前にしているようです。

まとめ

zshのPluginの作り方ですが、滅茶苦茶簡単でした。
汎用性の高い処理があったらどんどんPlugin化していきたいですね。
(README書くほうが大変でした。)