Changing Shells: Bash to Fish

1 minute read

There’s nothing wrong with the default Bash terminal really. It’s is the de facto standard for many mac users and what I was taught to use at university. I stumbled across the Fish Shell from some twitter post a while back and ended up looking into it while trying to restyle my terminal.

Improving my terminal experience

If you’re still using the default mac terminal (like I was) – oh boy you’re in for a treat.

In my childhood I loved the Matrix films, so I naturally went for the Homebrew theme at first. Hell yeah it was awesome.

Homebrew bash theme

This was my shell setup for around 2 years before I changed it this week. There’s nothing wrong with it per say, but it can be so much better.

Installing Fish

The documentation is good, and support for different OS are also good.

I installed with Homebrew using brew install fish.

You can then use fish with a command inside bash fish. The installation directory for fish is ~/usr/local/bin/fish.

Now we need to add fish to the systems list of shells vim /etc/shells, then add /usr/local/bin/fish to the bottom of that list.

Next we just change our default shell to fish chsh -s /usr/local/bin/fish

Easy, right?

Getting a new theme

Check out this git repo which has a list of cool themes. I went for hybrid, which looks like this.

Hybrid terminal theme

To install a theme just find the theme.terminal file you like, right click and open it in the terminal application. Open the terminal preferences and just set it as the default.

Note on vim syntax highlighting

I’m a Vim user thanks to my university lecturer, who pushed us to use terminal in the first place. However every time I started I always had to manually turn on syntax highlighting :syntax on. Turns out it’s a straightforward fix.

Open a standard empty vim session using vim

Type a vim command :e $MYVIMRC (If this file does not exist it will create one)

Add syntax on

And you’re done. Another handy thing to add is set nu which turns on line numbers.