5 ms·
With articles like these popping up all the time, oh-my-zsh is seriously harming zsh's reputation. It's giving the wrong impression of zsh being slow and bloate
by soraminazuki 1y ago
With articles like these popping up all the time, oh-my-zsh is seriously harming zsh's reputation. It's giving the wrong impression of zsh being slow and bloated.
zsh doesn't need configuration frameworks or plugins. All it needs is a change in the default settings so that its powerful completion works out the box. It currently needs more than ideal amount of tweaks to the defaults, which is probably why people flock to these frameworks.
- hdjrudni 1y agoI don't want to spend ages figuring out which knobs to turn to get a half decent shell. If there's an alternative to oh-my-zsh that looks halfway decent, has that nice fzf integrated, and the 'ghost text' history suggestions, then I welcome it!
- alabhyajindal 1y agoYou should try fish shell. Great user experience out of the box, including history suggestions. https://fishshell.com https://fishshell.com
- cbarrick 1y agoThe incompatible syntax of fish makes it a no go for me. As an SRE, at my day job I often need to copy/paste commands that are generated from a playbook. Our playbooks use Bash, and in practice Zsh is compatible. But a co-worker using fish often has to manually modify commands before running, and I'm not about that life. The problem with fish is mostly the different syntax for setting variables and lack of heredocs. Sometimes the string substitution differences come up too.
- fgonzag 1y agoSRE running copy pasted commands directly instead of a script or some automation solution? I don't think the problem is the shell...
- cbarrick 1y agoInsinuating that my playbooks are bad or any other kind of incompetence without actually knowing anything about my service is simply being an asshole.
- anon7000 1y agoExactly. Variable assignment works different in Fish, and it’s very hard to change that habit. With my usage of shell (with Fzf & zoxide), fish simply doesn’t improve much for me. I’m using bash constantly for my job, and having the same syntax in my shell is important
- porker 1y agoWe have everything as scripts rather than one-liners so they work fine no matter which shell you're using.
- cbarrick 1y agoIn our case, we often have complex decision trees to diagnose issues before we get into the ops. Our playbooks are very thorough with details about all of these debugging techniques. You can never completely automate the debugging step: it often requires human judgement to direct the investigation in ways that can't really be expressed in a script. The friction of the shell comes up not in executing the ops, which we do in fact have heavy automation around, but in all the little pieces of debugging has to happen to tell you what ops need to be done. (If you get paged and the solution is to skip the debugging step and run a script, then why didn't you automate the script so that you don't get paged in the first place?)
- deleted 1y ago[deleted]
- doubled112 1y agoOnce you have everything figured out, you just keep using the config you have. It might be worth the investment. I stopped using oh-my-zsh when I realized it was what was causing multi-second delays on Raspberry Pis. I think auto suggestions and syntax highlighting plugins can be installed separately from oh-my-zsh. I use starship for a better prompt, and it works on more shells than just Zsh. I also have Atuin installed to share history across machines, and as a benefit the history search is a lot more powerful. https://github.com/zsh-users/zsh-autosuggestions https://github.com/zsh-users/zsh-autosuggestions https://github.com/zsh-users/zsh-syntax-highlighting https://github.com/zsh-users/zsh-syntax-highlighting https://starship.rs https://starship.rs https://atuin.sh https://atuin.sh
- t_mahmood 1y agoWith atuin, do you face a delay when you first load after startup? It's so annoying. It takes a solid 30-minute lag before the history is loaded. I am running my home on hdd, not ssd. But still do not see justification of this lag.
- doubled112 1y agoI self-host an atuin server, and even between machines I don't see anything like that. I configured daemon mode to workaround an ZFS+sqlite issue. I also have my sync_frequency set to 5m (default is 1h) in the config. Perhaps those are making my experience smoother.
- t_mahmood 1y agoI am using ext4 though. Turned on daemon, let's see if it solves my issue Thank you
- soraminazuki 1y agoIf zsh has its completion fully configured by default, there will be no need for most people to turn knobs nor will it be a "half decent shell." It'll be the best shell, if it isn't already. I wonder why ghost text history suggestions are popular though, I'd rather not have it. Shell history search works better, and I don't want my shell always showing me or whoever else is looking at the screen random commands that I've previously typed.
- opk 1y ago> If zsh has its completion fully configured by default, there will be no need for most people to turn knobs nor will it be a "half decent shell." It'll be the best shell, if it isn't already. The curse of backward compatibility means that zsh does not break your setup or change things on you. And there are still developers left who bear the trauma from the one time that was tried back in the early-mid 90s in the 2.x version series. Sadly that means many new features remain inactive by default, especially anything written in shell-code like command-specific completions.
- Sayrus 1y agoI for one use and like using both fzf on the search history and the ghost text history. With history, I often end up writing a line that isn't shell so that it fuzzy-matches what I'm looking for. I like having the passive suggestions in addition to that. It doesn't get in my way and if I like what I read, I can accept it. I'd rather have a good history search than autosuggestion, but having both is a net-positive in my day-to-day.
- loeg 1y agoI don't know if it's still in vogue, but prezto exists.
- kstrauser 1y agoIMO, that alternative is Fish shell.
- wpm 1y agoZim has been my choice since I got sick of multi second startups with OMZ.
- grrowl 1y agoLook into zgen, it's a zsh plugin system but much more static (but less ridiculous out of the box)
- bbkane 1y agoI'm definitely not an expert, but I configure zsh manually with those fzf and "ghost text". I took some notes in my repo, just copy the relevant portions if you actually want to try this: https://github.com/bbkane/dotfiles/tree/master/zsh https://github.com/bbkane/dotfiles/tree/master/zsh I tweak it occasionally, but for the most part I set it and forget it.
- GCUMstlyHarmls 1y agoI noticed you're using `z-shell/F-Sy-H`, "Feature-rich Syntax Highlighting for Zsh". The `z-shell` github org has (or had) some ... bad vibes, I would personally not use any of their code. - https://recurse.social/@dylnuge/112224580867240812 https://recurse.social/@dylnuge/112224580867240812 - https://www.reddit.com/r/commandline/comments/1c3r7ck/zshellzi_users_beware/ https://www.reddit.com/r/commandline/comments/1c3r7ck/zshell... - https://www.reddit.com/r/zsh/comments/1c3r5gn/zshellzi_users_beware/ https://www.reddit.com/r/zsh/comments/1c3r5gn/zshellzi_users... You could use `zsh-users/zsh-syntax-highlighting` as an alternative.
- saikatsg 1y agoIs this one better? https://github.com/zdharma/fast-syntax-highlighting https://github.com/zdharma/fast-syntax-highlighting
- GCUMstlyHarmls 1y agoMy understanding is zdharma removed their github account, then the name got squatted by the z-shell people. So probably not.
- imcritic 1y agoYou split your config across multiple files. That slows startup noticeably.
- jonS90 1y agoI migrated from omz to zimfw and am reasonably happy. But I have yet to meet anyone in real life who knows what zimfw is.
- shivenigma 1y agoHave a look at Prezto, it is much simpler and faster than oh My ZSH.
- varispeed 1y agoOut of curiosity, what is wrong with oh-my-zsh? I use it and never had any issue. Am I missing out on something?
- soraminazuki 1y agoIf it works for you, that's great. But people are installing oh-my-zsh almost as if it's an official requirement of zsh, run into bloat and performance issues, and goes off telling everybody not to use zsh. Some of the autocompletion settings set by oh-my-zsh are useful. But apart from that, the majority of the code consists of gazillions of random aliases and functions that someone else needed. It pollutes the command namespace for no good reason except maybe making users more wary of typos. The last time I checked, sudo was aliased as "please", and I can't find a single reason why that'd be useful. oh-my-zsh also introduces a lot of churn, which is why it has autoupdates. Autoupdates. The only time I needed to change my configuration in vanilla zsh because of a change in zsh was once or maybe twice over a span of 10+ years.
- mattgreenrocks 1y agoOMZ shouldn’t be imposing these issues, and autoupdates of a shell script manager is aesthetically disgusting. But there’s also an argument to be made for not cargo culling configuration.
- linhns 1y agoYep, many are just throwing shades at it. I combined omz with Antidote, which now gives me a fully featured shell and blazingly fast.
- mcdow 1y agoCame here to say this. I was able to get an omz featureset from vanilla zsh with a handful of lines of config. It works for the features I was using from omz.
- kmarc 1y agoFWIW I only ever saw zsh at colleagues screen(share) with Oh-My-Zsh 1. Utterly slow and cluttered 2. Colleagues leverage a tenth of its power than what they could achieve with pure bare bones bash Therefore, never bothered to even try (but had to fix some one liners so that they work on their fancy setup). Also, was surprised that macos switched to it as its default. I guess I never jumped on the oh-my-it's-so-slow-zsh bandwagon. OTOH, fish+starship combo /that was also recommended here/ seems interesting
- fmbb 1y agoStarship can also be really really slow with the defaults, although that is not starship itself beings slow but it appears to sometimes call out to slow tools when display toolchain info. I always turn all of the languages plugins off in Starship for this reason.
- kmarc 1y agoHonestly, I'm quite OK with bash+liquidprompt. It is probably an order of magnitude slower than these fancy new stuff. Even with a huge monorepo and git stats displayed after every press of return it's OK (I win time at other places), but it's intriguing to have the same fast prompt display that I would otherwise have outside local git clone's directories. What seems sexy about fish/starship is that there is built-in performance check / benchmark for slowdowns.
- bardsore 1y agoFor Fish, I'd recommend https://github.com/IlanCosman/tide https://github.com/IlanCosman/tide instead
- kmarc 1y agoOh nice thanks. Great idea with the async prompt update. The repo hasn't seen new commits since more than a year, but new issues are still opened. Is it abandoned?
- 1y ago
- pjmlp 1y agoNo shell does, I am using computers since 1986 and I don't these "pimp my shell" kind of stuff with rainbows and virtual pets. CLI is for stuff that GUIs and IDEs for whatever reason don't support, or REPL like interactions.
- bombcar 1y agoThe main thing I use the pimpshells for (and all I can honestly say is KNOW I’m using from omZ) is the colored/fancy prompts. I’ve used colored informative prompts since DOS and having production servers be brilliantly red and dev servers a different color is quite helpful.
- thesuitonym 1y agoYou don't need oh my zsh for colorful prompts though.
- never_inline 1y agoYeah it's literally ANSI escapes.
- BiteCode_dev 1y agoPlus, a lot of the goodies can be added with compiled programs like Starship or Atuin. Less config, faster, work across several shells.
- chamomeal 1y agoI had no idea zsh had decent completion. How does it compare to fish?