新购入了一台 Mac ,准备不迁移环境而是从头配置一下环境,现在准备安装 shell 插件了。
之前一直用着 Oh My Zsh ,确实很好用,但是感觉初始化时间越来越长,一个新的 session 要 1 ~ 2 秒才初始化完成,可能是插件有点多了,而且看有人说 Oh My Zsh 的性能差点意思。
问下各位现在有 Oh My Zsh 的上位替代么?可以从使用体验、易用度、生态、性能之类的方面讲讲。
102
wukaige 22 小时 44 分钟前 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 21 小时 39 分钟前
不理解为什么纠结 fish 语法不兼容,我用 fish 是为了开箱即用的命令补全提示、历史记录,脚本还用 bash 语法写呗,执行的时候直接用 bash 执行不就完了,也不用切换什么啊
|
106
gefangshuai 21 小时 29 分钟前
耗时的问题可以解决,你应该是配置了什么环境变量导致的,网上关于 omz 提速的文章也有很多,排查一下到底是哪个环境导致,删掉。比如 nvm
|
107
bycgxss 17 小时 38 分钟前
不用 OMZ ,使用 Warp 终端
|
108
aloxaf 16 小时 20 分钟前
p10k 作者有个工具,你可以用它来测试你的 prompt 耗时: https://github.com/romkatv/zsh-prompt-benchmark
确定耗时以后,可以用二分法来排查是哪个插件在拖慢你的 prompt ,也可以现用 typeset -pm '*_functions' 来查看当前有那些 hook 来缩小范围 |
109
zhangchongjie 15 小时 47 分钟前
@PTLin 大佬,zellij 在 mac 下怎么配认随终端起用呀
|
111
PTLin 14 小时 32 分钟前
@zhangchongjie 我是 Linux ,直接在.zshrc 里最后一行贴的 eval "$(zellij setup --generate-auto-start zsh)"
|
113
houshuu 10 小时 21 分钟前
你的问题其实只是 zsh 插件管理器太慢了而已。
建议换用 zinit ,非常快。我现在自己在用的是 sheldon ,写 toml 非常容易管理。这两个都支持延迟加载。 fish 是不推荐的,因为 zsh 几乎所有系统都带了,你可以把配置放到所有服务器和本地机器上,完全无缝体验。 学生时代我也爱用 fish ,现在全 zsh 了,脚本自己也容易写,随时打包一些工作流到 zsh 函数里。 以前还怀念 fish 补全,现在用上 Aloxaf/fzf-tab ,补全非常的轻松。 历史记录直接用 fzf 绑定 c-r 就行了。 fzf 基本是现在终端搜索功能的天花板了。 |
114
zjiajun 9 小时 38 分钟前
还是用 omz 的吧,插件多一些,分析启动慢学到了,备用下
|
116
qfly 1 小时 1 分钟前 via Android
fish 我也是因为 omz 初始化太慢才换的,但 fish 和 zsh 或者 bash 不太兼容
|
117
beyondgamp 6 分钟前 via iPhone
学习一下
|