LinuxAtApp / meta

Repo for organizing meetings and general discussion.
MIT License
0 stars 0 forks source link

How did you choose your shell? #4

Open whereswaldon opened 7 years ago

whereswaldon commented 7 years ago

I'm currently a bash user because it's the default. I've been looking a lot at fish and zsh lately, but I'm having trouble figuring out which features of those shells differentiate them from bash and from one another. Which shells do you use? Why?

stephen-bunn commented 7 years ago

fish and zsh are really good shells, but I find that I prefer zsh over fish simply because of the development community and the ease of use. Still, I do find that the features of fish are much more enticing than vanilla zsh which causes me to toggle between the two occasionally.

My biggest issues with using fish is that there are a few incompatibilities with POSIX which sometimes forces me to do quick rewrites of shell scripts for installing or running applications. It's not a huge issue, just one that causes a bit of annoyance. Slant has some pros and cons if you're interested in other opinions.

In either case, fish or zsh, I would recommend using the oh-my-fish or oh-my-zsh bundles for their community plugins and support.

whereswaldon commented 7 years ago

I tried fish out for a few hours yesterday, and the experience was fantastic. Unfortunately, the more I read about configuring it, the more dismayed I was at the workarounds for the POSIX incompatibility. The most accepted solution seems to be running some other shell as your default shell and then starting fish from that shell's configuration if it's an interactive shell. I'm fundamentally bothered by the idea of needing another shell just to run the shell that I want to use, so I think that may have killed fish for me.

@ritashugisha What features of zsh do you really like?

stephen-bunn commented 7 years ago

@whereswaldon I stick with zsh mostly because of the community and how zsh is configured to work with other shells while fish is trying to become a sort of standalone. For me, my choice is more against fish than for zsh simply because it can become annoying to configure several different configuration files and env vars for simple tasks.

I like the vanilla fish autocomplete more than zsh, but find that zsh works fine for what I need. Also, I have found in some instances that zsh handles automatic escaping better than fish. I don't remember a particular instance, but I've noticed it in the past.