Terminal is an terminal emulator, sometimes also called a “terminal window”. I work in a window environment (MATE) and I want to use command line tools within that environment. So I need a “terminal window”:
ZSH and Bash are both Unix shells. A shell is a command line interpreter that provides a text-based user interface.
Command line describes the textual way you interact with the computer. When you’re in a graphical user interface situation you interact by manipulating windows with your keyboard/mouse. When you’re in a text-based user interface situation, you interact by entering commands in a line (hence command line).
Oh-my-ZSH is a plugin for ZSH. I think this plugin is very good and makes a big difference to Bash. So when you look at the screenshots below, keep in mind that this is not a “plain vanilla” zsh.
- Install “Oh-my-ZSH“
- Install “powerline fonts” and change your Terminal font to one of them
- Change your Terminal theme to “agnoster” by setting
- Set your terminal theme to “Solarized Dark” (description)
- Make ZSH your default Shell in MATE Terminal (description) and eventually
sudo chsh -s /usr/bin/zsh username
ZSH and Bash
Here are some differences. On the left side is zsh, on the right is bash:
I like the time command of bash more, but that’s it. All other interactions are either almost the same or better in zsh. I especially like that zsh doesn’t print everything again when you autocomplete with tab. And it also autocompletes when you make an capitalization error.
I also begin to like the Git-specific prompt indicators: