macOS 中有 Oh My Zsh 的上位替代么?

50 天前
 bigbugbag

新购入了一台 Mac ,准备不迁移环境而是从头配置一下环境,现在准备安装 shell 插件了。

之前一直用着 Oh My Zsh ,确实很好用,但是感觉初始化时间越来越长,一个新的 session 要 1 ~ 2 秒才初始化完成,可能是插件有点多了,而且看有人说 Oh My Zsh 的性能差点意思。

问下各位现在有 Oh My Zsh 的上位替代么?可以从使用体验、易用度、生态、性能之类的方面讲讲。

13275 次点击
所在节点    程序员
124 条回复
Binwalker
50 天前
fish + starship
Blunt1991
50 天前
zimfw
charlie21
50 天前
zimfw https://github.com/zimfw/zimfw
推荐 theme eriner
treizeor
50 天前
折腾大半天就省这开启的一两秒,,,
liubaicai
50 天前
ohmyfish+fishbone
aloxaf
50 天前
@jiefengwang #20 zsh 也可以,只是很少有人这么配置

zstyle ':completion:*' matcher-list 'r:|?=**'

以前试过一段时间,好像有时候反而会增加很多干扰项,后面没用了
Meursau1T
50 天前
我返回 bash 了,用 fzf-tab-completion 实现补全,然后自己封装个 cd ,把补全的初始化放进去,这样第一次切换目录的时候会卡一两秒,但终端始终秒开
lerry
50 天前
插件都注释掉就好了,我只留了 plugins=(autojump git docker)
wu67
50 天前
但即使我关掉 omz, 只用 zsh, 好像也没快多少, 新 tab 还是有肉眼可感知的初始化卡顿
DualVectorFoil
50 天前
首先 omz 定位是一个终端框架,它包含了主题功能,更多的是好用的插件,然后前面楼层提到的 starship 是 prompt 框架其实可以当做主题美化看待,然后 p10k 是个针对 zsh 做的主题,加载速度一流。

另:看到这么多人推荐 fish 搞的我心里痒痒的想去试试了哈哈😄
Kobayashi
50 天前
关键不是 zsh ,fish ,bash ,而是插件。zsh 插件就是利用 zsh 脚本实现的功能。因为你打开 zsh 出于一个交互式 shell 中,插件加载方式只有 source 脚本才能影响当前进程。

ohmyzsh 是一个框架,即自带了一批插件脚本。插件管理器能帮你下载来自 git 仓库的插件,并帮你 source 插件。

你能做的

- 砍掉耗时插件
- 砍掉自己 zsh 配置(如 zshrc )中的耗时命令,如 nvm, brew 调用.
- 使用 zinit 插件管理器帮你“异步”加载插件(其实是因为 prompt 也是一个插件,在 prompt 渲染后和你反应过来敲击键盘还有点延迟,利用这个时间加载其他插件)
- 回车耗时也是因为插件,如 zsh fish 提供了完整的钩子机制。大部分回车耗时是因为 git status 检查,优化 git 状态可以使用 gitstatusd ,或者选用支持异步 git 状态查询的 prompt 。

下边是喷子时刻

- 用什么 go ,rust 写 zsh 插件管理器纯属 NC ,没明白性能瓶颈在哪儿。除了 zinit 以外的插件管理器只是自动化了插件下载,没有在插件加载上做任何优化。插件下载都是 git clone ,插件加载都是 source ,哪有什么区别。
- starship 并不快,它的简介 blazing fast 完全胡说八道。调用 shell 外部的进程( starship 本身)反而会增加一些额外耗时,它只是跨了平台、跨了 shell 。而且 git 状态查询也没有做任何优化。
zhengxiexie2
50 天前
oh-my-posh
FightPig
50 天前
用了很多年 fish
psklf
50 天前
@sketcherly +1 ZSH 然后自己装插件
thinkershare
50 天前
@AlexShui Windows Terminal+posh+powershell 7.x
yaytohkay
50 天前
fish 不兼容 bash 语法,在其他环境上安装一个开箱即用还不错,常用的话不大推荐
chopin1998519
50 天前
简单的 arm soc 都用 fish 。。。开箱即用

正常桌面、服务器还是 zinit 或者 oh-my-bash .... 要不有些不兼容,突然来一下还是停膈应的。
guanhui07
50 天前
Fish
ysc3839
50 天前
macOS 有这么慢吗?是不是插件开太多了还是别的问题?
我 Windows 下 MSYS2 安装 Oh My Zsh ,启动都不用那么久,感觉上只要 1 秒。
ysc3839
50 天前
@tinytoadd Oh My Zsh 配合 powerlevel10k 也可以用 gitstatusd 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1089105

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX