新购入了一台 Mac ,准备不迁移环境而是从头配置一下环境,现在准备安装 shell 插件了。
之前一直用着 Oh My Zsh ,确实很好用,但是感觉初始化时间越来越长,一个新的 session 要 1 ~ 2 秒才初始化完成,可能是插件有点多了,而且看有人说 Oh My Zsh 的性能差点意思。
问下各位现在有 Oh My Zsh 的上位替代么?可以从使用体验、易用度、生态、性能之类的方面讲讲。
102
wukaige 15 小时 50 分钟前 1
```
# zsh boot time report start=$(date +%s.%N) zmodload zsh/zprof ... zprof | head -n 20; zmodload -u zsh/zprof echo "Runtime was: $(echo "$(date +%s.%N) - $start" | bc)" ``` 用 zprof 看看耗时的是哪些插件,然后着手优化就像,之前 zsh shell 启动需要 1s 左右,砍掉大部分耗时插件再用 zinit 延迟加载,现在只要 0.1 s 左右。 |
103
bigbugbag OP @wukaige 非常感谢,看样子在我的环境中是 nvm 、conda 、jenv 的锅,其他时间都非常短。
这个方法可以用来统计 hook 的耗时么?我在命令行中敲回车也有明显的延迟,想知道是什么 hook 影响到了这个速度。 |
105
lancelock 14 小时 45 分钟前
不理解为什么纠结 fish 语法不兼容,我用 fish 是为了开箱即用的命令补全提示、历史记录,脚本还用 bash 语法写呗,执行的时候直接用 bash 执行不就完了,也不用切换什么啊
|
106
gefangshuai 14 小时 35 分钟前
耗时的问题可以解决,你应该是配置了什么环境变量导致的,网上关于 omz 提速的文章也有很多,排查一下到底是哪个环境导致,删掉。比如 nvm
|
107
bycgxss 10 小时 43 分钟前
不用 OMZ ,使用 Warp 终端
|
108
aloxaf 9 小时 25 分钟前
p10k 作者有个工具,你可以用它来测试你的 prompt 耗时: https://github.com/romkatv/zsh-prompt-benchmark
确定耗时以后,可以用二分法来排查是哪个插件在拖慢你的 prompt ,也可以现用 typeset -pm '*_functions' 来查看当前有那些 hook 来缩小范围 |
109
zhangchongjie 8 小时 52 分钟前
@PTLin 大佬,zellij 在 mac 下怎么配认随终端起用呀
|
111
PTLin 7 小时 37 分钟前
@zhangchongjie 我是 Linux ,直接在.zshrc 里最后一行贴的 eval "$(zellij setup --generate-auto-start zsh)"
|
113
houshuu 3 小时 26 分钟前
你的问题其实只是 zsh 插件管理器太慢了而已。
建议换用 zinit ,非常快。我现在自己在用的是 sheldon ,写 toml 非常容易管理。这两个都支持延迟加载。 fish 是不推荐的,因为 zsh 几乎所有系统都带了,你可以把配置放到所有服务器和本地机器上,完全无缝体验。 学生时代我也爱用 fish ,现在全 zsh 了,脚本自己也容易写,随时打包一些工作流到 zsh 函数里。 以前还怀念 fish 补全,现在用上 Aloxaf/fzf-tab ,补全非常的轻松。 历史记录直接用 fzf 绑定 c-r 就行了。 fzf 基本是现在终端搜索功能的天花板了。 |
114
zjiajun 2 小时 43 分钟前
还是用 omz 的吧,插件多一些,分析启动慢学到了,备用下
|