← Back to context

Comment by LAC-Tech

2 years ago

I use the shell a lot every day, mainly bash and some ash (alpine).

Does something like fish make the experience a bit smoother? is it pretty easy to get into?

To answer your first question specifically, yes. With fish you get substantial ergonomic improvements over bash and ash out of the box. There's also a very minimal learning curve since these features build on familiar idioms. There are some differences with fish as a language that take some getting used to, but bash is always one command away if needed for more complex stuff.

It's absolutely worth a test drive to see if the features excite you. If the lack of bash familiarity is too much of a blocker, then zsh with plugins that provide the same features as fish might be worth a look too.

  • set it to default on my laptop. the prompt was a bit noisy by default, and a bit too colourful, but it was very easy to configure. the autocomplete has also helped me out a few times already, much nicer than bash's

    • Yeah, simplifying the prompt a bit was one of the first things I did too, and the configuration is smooth indeed. Hope you're still enjoying it. There are some nice things to discover after a while, like the context aware features and some intuitive keybindings. My favorite in the latter category might be ctrl-p/arrow up to reverse search after entering some text.

I have to ssh into different places quite frequently and keeping the zsh configuration synced was a pain. Fish had 95% of what I needed out of the box so rather than putting a ton of scripts in place, installing omz, plug-ins etc, I run a single install command.

fish is intended to be beginner friendly, whether you're new to the commandline world or not. It's essentially configuration-free, so that's about as easy to get into as you might imagine.

  • Side note: beginner friendly or not, I've been using various kinds of shells for several decades and I still find Fish delightful. It's friendly to beginners, but also very comfortable to old salts.