ZSH - Autocomplete

Hi :slight_smile:

I know this may be a hot topic for some, so I declare forefront, that I am not that critical about this potential improvement

As I often stumble across incompatible bash commands on the internet, who hiccup fish, since its using another syntax for the respective issue, I was thinking about zsh-autocomplete

It seems to provide similar benefits for us, and zsh is fully compatible with all bash related stuff.

That being said, I like fish and specifically the fish like scripting language. I think they are doing a good job implementing a shell from scratch, and sometimes you need to break compatibility, or it might simply seem worth.

I understand the choice of fish in the first place, I just wish solving our problems by the help of the internet may be helped by a compatible execution layer, that is not putting stones in our way.

I know, fish is improving compatibility continuously (so they support && and || now, apparently) but some things may never change.

Idk, its a constant back and forth, and I really wanted only to share zsh-autocompletion with you, for the case that you haven't checked it out.

1 Like

Never heard of this ZSH feature, you made me learn another thing for today. :slight_smile:

Just so I understand, are you saying that zsh with autocomplete would be "better" than fish?

1 Like

I doubt it would be better than fish from my experience but it definitely adds my favourite unique feature of fish to zsh. Will still be using fish though. What about oh my zsh with this fish autocomplete though? That would be interesting haha

As well as the autocomplete feature, fish feels faster and is easier to configure for me and it feels more intuitive like with red colour for bad command and blue for correct command for example. It also shows the history and most recent used command as you're typing.


Ok the zsh autocomplete you mention is strictly an "autocomplete" feature, it doesn't use the color highlights like fish (those you mentioned, bad command, bad syntax, correct path/application, etc.).

Yeah so even though autocomplete is great and my favourite feature of fish, there is still many things fish does that zsh doesn't do, even with that script. Still a good plugin for zsh users though but I'm definitely sticking to fish


I agree, for those using zsh the auto-complete will be a great improvement! I personally cannot live with it anymore, when I work on my Proxmox debian machine I got nothing at all, I complain every time. loll


zsh can do all those things too depending on how you configure it.

That being said, choosing a shell is entirely a matter of personal preference. zsh is not "better" than fish or vice-versa.

If the distro chooses fish as the default shell and it isn't your preference, just change it. No matter what the default shell is, some group of people will prefer something different.


I was gonna say, I've been used to fish but I remember setting up Zsh with Powerlevel10k/autocomplete and it looking/functioning nearly identical to the fish implementation i've been used to.


Yeah fair enough, but why do all of that when fish is like that out of the box with arguably easier and better customisation options and again, AJ arguably better scripting language. Of course I understand it comes down to personal preference but I'm just curious why one would use zsh other than if they are familiar or have spent a long time customising it and don't want to repeat similar steps and customisations on fish or other shells. Both are great shells though and have much more in terms of features than basic bash.

Different syntax, most commands people will copy/paste are bash/zsh and rarely they are fish compliant.


I mean...it takes like 5 seconds to enable those features. It isn't some complicated task.

I would bet if you polled all Linux users most people wouldn't say that fish has a better scripting language. Again, it is just personal preference.

In addition to personal preference, zsh is vastly more compatible than fish. Almost all POSIX compliant scripts/commands will run on zsh.

Honestly, bash also has various plugins that can enable most of those features too.


Well, it would be more compatible. I love fish for its clean scripting language, and you can still use it for that, just not as the standard shell in your terminal. I admit, that would be a little bit of a chunky solution, and not quite ideal. Ideal in my book is, that they make fish fully compatible, AND progressive as currently.

What is your idea? :slight_smile:

1 Like

That really brings home, what I already thought about zsh as well (and also a lot of other software)
They are messing up a whole lot of potential, just because they come preconfigured incomplete.

I really value Geruda and a lot of its decisions, and this is one of the things that annoys me.

Simply because its breaking compatibility, and a lot of scripts and helpful advises dont work anymore.

I can make it work, in the most cases, and its not too big of a deal for me.
As said, I think there can be couple of solutions, and the current one is not horrible either.

I think, fish as a scripting language is really appealing. But for that, it doesnt need to be the standard shell.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.