分析 zsh 性能并修复我缓慢的 shell
我的 zsh 启动有点慢已经有一段时间了。慢到算不上什么大麻烦,但一直是我打算抽空处理的事。Thorsten Ball(索尔斯滕·波尔)写过一篇关于这个问题的好文章,在这里。也许我的鞋里灌铅太久啦!
最近我在折腾 atuin init 命令——这个命令会在 shell 启动时运行。我想确保它足够快,不会让任何人的 shell 变慢。
我做了什么:
- 在我的
.zshrc顶部加上zmodload zsh/zprof - 在同一个文件底部加上
zprof
打开一个新的 shell 时,我就能看到一张漂亮的表格,显示 zsh 的时间都花在哪里了。

很明显,罪魁祸首是 nvm!稍微搜索了一下,发现我几乎是最后一个弄明白这件事的人。哎呀。
修复它
我确实经常使用 nvm,所以来把它修好。
延迟加载
zsh-lazyload 可以让你对命令进行延迟加载!这样我只在实际使用 nvm 时才付出 nvm 慢的代价。不错。
按照 readme 安装该插件(我用的是 zplug),然后在 .zshrc 里加上:
lazyload nvm -- 'source ~/.nvm/nvm.sh'搞定!
替代品
随机一篇博客