As I gain more experience as a software developer I find myself using the command line a lot more. With this growing demand comes a growing need for powerful tools for the command line. In comes fish shell.

For a complete documentation and installation guide go to the fish shell page. Here are the highlights in my eyes.

Installation

For the mac users this part is easily done by the following:

brew install fish

Command history (autosuggestions)

Working from low level tools like a terminal comes with typing a lot of the same commands over and over again. Moreover you have to remember some non descriptive abbreviations you used once before.

Fish has a history of your executed commands. With the vertical arrow buttons you can scroll through all matching commands. You can also autocomplete parts of previous commands. This feature relieves your brain of storing all this information.

fish autosuggestion

Realtime feedback

Fish underlines valid paths to files or directories you type.

fish path feedback

Web configuration

No pasting complex scripts from stackoverflow to some config file. Well, you can if you want… But configuration for fish is done in a fancy web UI. Just type fish_config and it opens in the browser.

Now you can change color theme, what your prompt shows or your key bindings:

fish configuration screen

But wait, there is more

Define variables using $, pipe commands using |, and use wildcards with *.

These are my mostly used features. The possibilities are of course endless! Install fish shell and your workflow instantly becomes faster and more enjoyable. Happy fishing!