8. Terminal - Wiebsonice/GalleryMatch GitHub Wiki

Terminal

During the course we are going to do a lot of things in the terminal, such tings as: installing NPM packages, running node.js or working with Git. The terminal is the same as everything on your computer, but it's using a different User interface. MacOS is an GUI(graphical user interface), and the terminal is using a TUI(text-base user interface). They both have the same info and data, the difference is how its presented to you, and how you're able to interact with it.

Bash, ZSH or Fish?

Every terminal is running a shell. The most common linux shell is the bash shell (this is the default shell for macOS). So is bash the best shell? Just as text editors isn't there a such thing as "One is better than the other". It all comes down to the user and his preferences.

Bash

Bash Also known as Bourne Again Shell. Bash is the standard shell on macOS and linux. It has a lot of pre installed features.

ZSH

The ZSH shell is not so different from the bash shell, but it can be a lot different when its running the oh-my-zsh framework.
What is ZSH?

Oh-my-zsh is community-driven framework for managing zsh configuration. It includes 200+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, etc), over 140 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.- Davidokwii. It also has auto complete, tab completion, and directory listing.

And of course some fancy theme's.

Fish

Fish is probably the most advanced shell out there.

  • Syntax highlighting for commands, comments.
  • Auto suggestion based on your terminal history
  • Auto competition generated by parsing man pages which makes it super smart.
  • Optional Web-based configuration although you can also edit ~/.config/fish/config.fish directly using Vim or any other text editor.
  • And just works out of the box. Not much configuration and tweaking is required.
    - Davidokwii.

So fish is really advanced, thus i'm not trying that shell.

My Verdict

So the features of the ZSH shell kinda interested me. So I decided to test out the ZSH shell in combination with the oh-my-zsh framework. After browsing trough some themes, I settled with the Cloud theme.

Combining the ZSH shell, The cloud theme and iTherm2 makes my terminal how it is today:

Iterm2 with the ZSH shell