剖析 zsh 並修復我那緩慢的 shell
原文由 Ellie Huxtable 于 發布,訂閱此部落格
我的 zsh 啟動速度已經有點慢了一陣子。雖然還不到非常惱人的程度,但一直是我想找時間處理的問題。Thorsten Ball 針對這個主題寫了一篇很棒的文章在這裡。或許我穿著加重鞋跑太久了!
最近我在研究 atuin init 這個指令——它會在 shell 啟動時執行。我想確保它的速度夠快,不會害任何人的 shell 變慢。
我的做法是:
- 在我的
.zshrc最上面加上zmodload zsh/zprof - 在同一個檔案的最下面加上
zprof
重新開啟一個 shell 後,就會看到一張清楚的表格,顯示 zsh 都把時間花在哪裡

很明顯,罪魁禍首就是 nvm!稍微 Google 了一下,發現好像只剩我還沒搞清楚這件事。糟糕。
修復它
我還算常用 nvm,所以來把它修好吧
延遲載入
zsh-lazyload 可以讓你延遲載入指令!這樣一來,只有在真正使用 nvm 時,才需要承受 nvm 載入緩慢的代價。還不錯。
按照 readme 安裝這個外掛(我是用 zplug),然後
lazyload nvm -- 'source ~/.nvm/nvm.sh'加到我的 .zshrc 裡。這樣就搞定了!
替代方案
隨機一篇部落格
留言
登入後參與討論