年末の大掃除と称して dotfiles の整理をし、ついでに zplug から zplugin へと乗り換えた。
zsh の起動時間を縮めるために oh-my-zsh から zplug に乗り換えたのが1年半前だが、最近また起動時間が気になったのがきっかけ。
やったこと
基本的には README に従ってマニュアルインストールした後、.zshrc
の zplug 固有の部分を zplugin に書き換えるだけだった。ただ、zplugin の初期化処理は zplug よりも簡素なため、いくつか追記が必要だった。
初期化処理
source ~/.zplugin/bin/zplugin.zsh
他のプラグインシステム同様、初期化用スクリプトを source
するだけ。
compinit
autoload -Uz compinit compinit
zplugin は compinit
は自動で呼び出してくれないので、自分で呼び出すようにした。
zplug "zsh-users/zsh-completions"
プラグインのロードは zplug
コマンドに置き換わった。
プロンプト設定
# プロンプトに git の情報を出すためのユーティリティの読込み zplugin snippet OMZ::lib/git.zsh zplugin snippet OMZ::plugins/git/git.plugin.zsh zplugin cdclear -q # プロンプトでのコマンド置換を許可 setopt promptsubst # $fg などを有効化 autoload -Uz colors && colors # PROMPT を定義したスクリプトの読込み zplugin snippet ${HOME}/dotfiles/autopp.zsh-theme
ここが少し面倒だった。まず oh-my-zsh 時代に作ったテーマを使っているので、zplugin snippet
で oh-my-zsh の git 関連のユーティリティを読み込む。zplugin では promptsubst
オプションも colors
も有効化されていないので手動で有効化する。
こうするとこれまで使っていたテーマをそのままロードすることができる。
起動速度はどうなったか
Before
( zsh -i -c 'exit'; ) 0.29s user 0.27s system 98% cpu 0.566 total ( zsh -i -c 'exit'; ) 0.27s user 0.25s system 100% cpu 0.525 total ( zsh -i -c 'exit'; ) 0.28s user 0.27s system 102% cpu 0.541 total ( zsh -i -c 'exit'; ) 0.28s user 0.26s system 99% cpu 0.540 total ( zsh -i -c 'exit'; ) 0.27s user 0.25s system 100% cpu 0.525 total
After:
( zsh -i -c 'exit'; ) 0.15s user 0.09s system 96% cpu 0.252 total ( zsh -i -c 'exit'; ) 0.14s user 0.09s system 97% cpu 0.238 total ( zsh -i -c 'exit'; ) 0.14s user 0.08s system 97% cpu 0.223 total ( zsh -i -c 'exit'; ) 0.14s user 0.09s system 95% cpu 0.238 total ( zsh -i -c 'exit'; ) 0.14s user 0.08s system 97% cpu 0.226 total
2倍以上速い!!!
これで2020年からはより快適なシェルライフを送ることができそうでなにより。