ようやく oh-my-zsh から zplug に乗り換えた

zsh の導入当初より使っていた oh-my-zsh から zplug に乗り換えた。

github.com

なぜ乗り換えたのか

zsh の起動時間が遅い気がしたのでアレコレぐぐって compinit のオプション弄ってみたり、プロファイリングして遅いっぽいところを変えてみたがあまり改善せず……
もうちょっとぐぐってみたところ、どうも今使っている oh-my-zsh 自体が古く && 起動が遅いというのが2018年現在のステータスらしく、後継となるものがいくつかある様子。

oh-my-zshzsh 導入時に特に意思なく入れただけで拘りもなかったので、整理も兼ねて変えることにした。*1

乗り換え時に困ったこと

zplug のインストール自体は公式ドキュメントに従うだけでできた。

あとは.zshrcから oh-my-zsh 固有の処理を zplug 固有の処理に変えるだけで、終了……と思ったら oh-my-zsh がデフォルトで設定するオプションが抜け落ちて少し困った。

  • Ctrl+Left, Ctrl+Right でのカーソル移動のキーバインディング
  • 履歴周り、特にshare_history

これからも足りないところが見つかり次第、足していくことになりそう。

現在

とりあえず今は困っていない。起動時間も若干だが短くなった。((次に取り掛かるべきボトルネックは各種envコマンドの初期化処理のようだが、これはどうしたもんか……))
oh-my-zsh でよくないと思っていた「インストール時に.zshrcを書き換える」が zplug にはないおかげで、dotfilesのセットアップスクリプトもシンプルにできた。

zsh 使い始めて3年くらい経つが、今回のお引越しで zsh について知らなさすぎることがよくわかった。 普段使いのモノの中でもダントツで使ってるわけだし、もうちょっと勉強して理解した上で使わないとダメですね。

*1:oh-my-zsh が古いことも知ってはいたが、なかなか腰が上がらなかった