なっく日報

技術やら生活やらのメモ

zshのプラグインマネージャzgenについて

今日は技術的なトピックが特になかったので、いきなりですが、zshのことについて書きます。

※追記:antigenはv1.1.0からめちゃ早くなったらしい。Release Release v1.1.0 · zsh-users/antigen · GitHub なので、無理にzgenに乗り換える必要もなくなりました。

zshプラグインマネージャといえば

github.com

がメジャーだと思います(超重量級なoh-my-zshとかpreztoは考えないことにします)

自分も、しばらく愛用していました。

しかし、遅い

tmuxで新規window/paneを開いたときに、1秒弱間があいていらっとしてました。

自分の開発スタイルはしょっちゅう新規window/paneを開くスタイルなのでとにかくイライラが募ってました。

http://blog.uu59.org/2013-06-01-zsh-optimize.html を参考にプロファイリングをしたところ、antigenが原因とわかりました。

そこで

https://github.com/unixorn/awesome-zsh-plugins#installation

を見て他にないか調べてみたところ、zgenというブツに興味を持ちました。

zgen?

github.com

にあるように、

The goal is to have a minimal overhead when starting up the shell because nobody likes waiting.

スピード重視!

The script generates a static init.zsh file

一度静的ファイルを生成して、高速化を実現しているみたいです。

もちろん、githubのmasterでないブランチの読み込みや、リポジトリ直下でないディレクトリの読み込みにも対応しています。

設定例

本家のexampleが参考になります。

https://github.com/tarjoilija/zgen#example-zshrc

私の.zshrc.zgenというdotfileも参考になるかもしれません。

https://github.com/yukidarake/dotfiles/blob/master/.zshrc.zgen#L86

まとめ

zshプラグインマネージャを使っていて、スピードに不満のある方はzgen試してみてもよいのではないでしょうか。

オススメです。