Published on

zsh のプラグイン管理に Sheldon を使う

Authors

以前は zinit を使用して zsh のプラグイン管理をしていましたが,最近 sheldon を試してみることにしました.設定などについては,様々なウェブサイトで紹介されていますので,ここでは私が苦労した点についてメモしておきます.

alias, env, opt, style

最初は非同期で読み込むようにしていましたが,恐らく設定の順序などの影響で予想された動作をしなかったため,同期読み込みに変更しました.それほど重い操作は行わないので,同期読み込みでも特に問題はないと思います.

nvm, *envの初期化処理

nvm, *env(nvm, pyenv, rbenv, goenv など)の初期化には時間がかかるため,非同期で読み込みます.複数の *env を使用している場合は,それぞれの初期化処理をファイルに分けることで初期化処理を短縮できます.

sheldon で非同期読み込みを行う場合には,zsh-defer を使用する必要があります.最初は nvm, *env の初期化処理と他のプラグインの読み込みを同時に行っていましたが,ターミナルを開いた直後,初期化処理中に5秒程度キー入力が受け付けられない状況に遭遇しました.色々試行錯誤した結果,nvm, *env のみを zsh-defer でディレイを設定して読み込むことで症状を緩和できました.

daisukekobayashi/dotfiles