So what is a shell? In short, a shell is an interface that allows a user to communicate with your operating system. They can come in two forms, those being GUIs (Graphical User Interfaces) and CLIs (Command Line Interfaces). Microsoft Windows is a good example of a common GUI, Windows provides a desktop, task bar, start menu as well as a file browser, all of which aid the user in communicating with their operating system. CLIs are not so complex and are limited to a simple command line that takes keyboard inputs from the user to perform various tasks, although this may seem like a more primitive way of doing things, you'd be surprised how much more efficiently you can get things done once you're experienced with the command line.
Bash and Zsh (Z-shell) are different types of CLI shells. Unix-based systems (that includes Mac OS X) use Bash by default. To tailor our terminal to be more awesome, we're going to be changing our default shell to Zsh.
Prezto is a configuration framework for Zsh. It comes supplied with a variety of plugins and themes that can extend and customize your shell. There are other popular frameworks out there, one of which being Oh My Zsh which I have found to have more plugins and themes available, but is known to be considerably slower.
- Install Homebrew - https://brew.sh/
- Install Zsh from Homebrew - https://rick.cogley.info/post/use-homebrew-zsh-instead-of-the-osx-default/
- Use Zsh from Homebrew - https://rick.cogley.info/post/use-homebrew-zsh-instead-of-the-osx-default/
- Install Prezto - https://codurance.com/2015/03/16/installing-zprezto-a-quick-guide/ and https://github.com/sorin-ionescu/prezto
- Install steeef theme - http://mikebuss.com/2014/04/07/customizing-prezto/
- Install iTerm 2