Fish shell

Fish shell, how do I love thee? Let me count the ways.

You give me the glory of autosuggestions with nary a line of config.

Your default prompt has all my favorite things.

Your command history stretches to the beginning of time.[1] I considered Atuin, but why bother when I have you?

Your tab completion is my tireless assistant, searching and suggesting without distracting.[2]

Your scripting language is a pleasant escape from murk of bash. POSIX be damned![3]

Your builtin syntax highlighting forestalls my otherwise steady stream of user errors.

Abbreviations, your improvement on bash aliases, expand when you type them, letting me know exactly what I’m running and popping the command into your history for posterity. And you have more bash-like aliases for those that want them.

You are the first thing I install on a new machine. Let’s grow old together.

For more praise from smarter peeps, see:

(Email me more good stuff to add here and I’ll do it!)


  1. As long as time contains 256,000 or fewer commands. ↩︎

  2. I just learned while writing this post that you can hit Ctrl-s to search the completion list! <3 ↩︎

  3. jk but also kind of. Though I think fish has gotten a little more POSIX-friendly over the years. ↩︎