5 ms·
The best reason to choose fish over zsh is that everything works so well out of the box that you stop messing with it. I haven’t tweaked my shell config in 7 o
by mattgreenrocks 5y ago
The best reason to choose fish over zsh is that everything works so well out of the box that you stop messing with it.
I haven’t tweaked my shell config in 7 or 8 months now.
This is a different mindset from the giant zsh configs, “plugin managers” and other junk that is wholly irrelevant to using the shell. You’d think that fish incorporating a lot of functionality that zsh has would manifest as bloating fish, but, IMO the reality is that zsh’s “bloat” is pushed into user configuration and the user is tasked with making it work.
- NavinF 5y agoAnother issue with zsh plugins is that they are incredibly slow. Oh-my-zsh makes every terminal feel like it’s running on another machine over ssh
- RMPR 5y agoAnd that delay when it updates itself is just the worst
- pmarreck 5y agoI thought there was something in, like, Powerman10k or something, which managed to avoid that issue?
- kekebo 5y agoYou probably mean powerlevel10k[0], although that's mostly a replacement of powerlevel9k, which is only one of the (theming) plugins that oh-my-zsh commonly handles. As for a replacement for oh-my-zsh itself, I had good experiences with zgen[1] but the fastest I've found is zim-fw[2] which produces acceptable start times for me[3]. [0] https://github.com/romkatv/powerlevel10k/ https://github.com/romkatv/powerlevel10k/ [1] https://github.com/tarjoilija/zgen https://github.com/tarjoilija/zgen [2] https://github.com/zimfw/zimfw/ https://github.com/zimfw/zimfw/ [3] https://i.imgur.com/mPPQuyh.png https://i.imgur.com/mPPQuyh.png
- smohare 5y agoThis is the framework, not the plugins.
- alerighi 5y agoYou don't need that much plugins at all. The only plugin that I use is gitstatus, and zsh-syntax-highlight, and both of them are avoidable without loosing features.
- gjvc 5y agothis is probably the git plugin doing a "git status" or similar. Check the "plugins" array in .zshrc
- tekknik 5y agoBut we have the same in the fish world (my prompt shows me which branch i’m on if my working dir is a git repo) and it’s not slow.
- mattgreenrocks 5y agoHence, my issue with the "infinitely configurable" idea: once you add plugins to the mix, it feels like responsibility for the end user experience falls on no one, so the users end up shouldering that, and, worse, sometimes develop a Stockholm Syndrome for it. For example, to me, it is _insane_ that in 2021 async prompts are not a completely solved problem. The shell should provide a mechanism to do so easily, rather than duct-taping thin veneers over syscalls via a scripting language.
- rubyist5eva 5y agoDitch omz and use Prezto with the Powerlevel10k prompt (just change the theme in the zpreztorc file to 'powerlevel10k' and restart your terminal), follow the initial prompts for setup, with "instant prompt" enabled and you'll never go back.
- linsomniac 5y agoThank you for this, I had somehow stumbled across powerlevel10k years ago on my "fooling around" laptop and liked it but couldn't remember how I'd gotten there. Long time zsh user here, just last week started playing with oh-my-zsh to integrate into my main system's shell environment.
- favadi 5y agoIt sounds like oh-my-zsh issue, not Zsh.
- AlphaSite 5y agoI use starship and it’s been pretty great and very fast.
- pxc 5y ago> The best reason to choose fish over zsh is that everything works so well out of the box that you stop messing with it. I've found that sometimes the opposite can be true (in a good way!). At one workplace, I introduced Fish to some fellow developers who until then mostly saw using the command line as a strange, difficult, and unpleasant part of their jobs. Once I got them started with Fish, they were happy enough with default interactive behaviors, convenient documentation, and simple scripting syntax that it encouraged them to do a little more scripting, and eventually to customize some of the aesthetic stuff by writing custom prompts! It was pretty cool to see.
- canjobear 5y agoI use fish. I haven’t tweaked my shell config in 9 years
- bscphil 5y ago> The best reason to choose fish over zsh is that everything works so well out of the box that you stop messing with it. This is such an incredibly odd perspective to me. I use zsh and have not touched my shell config in years. Messing with configurations to get things working to your liking is a one time thing. I don't even use plugins. On the other hand, if fish doesn't work to your liking out of the box, and for many people it does not, there's no "messing with it" that's possible. You are forced to give up and use something else. Your reason to choose fish is only a good reason if you already agree with every minute choice the developers made and refuse to let you adjust.
- OJFord 5y ago> On the other hand, if fish doesn't work to your liking out of the box, and for many people it does not, there's no "messing with it" that's possible. What do you want to do that isn't possible? I also haven't messed with it in months if not more (fish in my case, not zsh) but years ago I messed with the prompt a lot to get it to my liking. (From a previous zsh config.) It was perfectly possible.
- deleted 5y ago[deleted]
- shakna 5y ago> On the other hand, if fish doesn't work to your liking out of the box, and for many people it does not, there's no "messing with it" that's possible. You are forced to give up and use something else. Your reason to choose fish is only a good reason if you already agree with every minute choice the developers made and refuse to let you adjust. Which part of fish makes this impossible? You can tweak the startup, the completions, the key bindings, the prompt, and so on.
- deleted 5y ago[deleted]
- resonious 5y agoEven less ergonomic shells like bash can work very well out of the box if you just train yourself to use them. If you train yourself to use bash without any plugins, you'll be strong on any machine without any config. I went through a "distro hopping" phase at some point with Linux and ended up settling on a system with very little custom config. It's close to the defaults so I can work very comfortably even in a random server. Of course this is not ideal. If you have a tool or set of config that you like, then you should use it. I've just found that the human brain can overcome bad UX quite well with a little effort ;)
- II2II 5y agoThere are other benefits to your approach. Relatively little time is spent configuring software and it tends to be easier to copy over a handful of simple configuration files than to replicate a complex setup.
- tekknik 5y agoPut your configuration for stuff like this in a private github repo.
- wyclif 5y agoWhat I do on Linux is keep bash with a minimal config, and then have zsh with oh-my-zsh and all the other goodies. I used bash for a long time, so I don't get too confused by context switching.
- Lhiw 5y agoI haven't touched my zsh config in years. Omz != Zsh.
- tekknik 5y agoNot to mention the speed of fish vs zsh launching is quite noticeable, zsh taking a second or so longer to launch