Improve your terminal with ZSH and Oh-My-Zsh

March 1st, 2020 by Rijad Husic

What is ZSH

How to improve your terminal? For that, you’ll need to set up ZSH.

ZSH (Z Shell) is a shell just like Bash and SH. It is more powerful and has some advanced features that the Bash and other shells don’t have. ZSH gives you the ability to install a variety of plugins and is much more customizable than your regular Bash shell.

In this article, I’ll go through the process of installing and setting up ZSH on Ubuntu 18.04 LTS.

How to install ZSH

It’s very easy to install ZSH on Ubuntu because it’s available in the official repository. Before any installation, you should always update your package repository cache:

sudo apt update

after that, you can install ZSH

sudo apt install zsh

You will be asked to press to continue, after that the ZSH shell should be installed. You can verify that with the following command:

zsh--version

The result should be a zsh 5.4.2 or more recent.

Switch from bash to ZSH

To make ZSH your default shell you can run the following command:

chsh -s $(which zsh)


If you are having problems with setting zsh as your default shell using chsh you can search for “zsh default without chsh” it should be relatively easy to find another way to set it as default.

After setting ZSH as your default shell you need to log out and back again to use your new shell. To test that everything went well just run

echo $SHELL


Expected result /bin/zsh

$SHELL --version

Expected result ‘zsh 5.4.2’

What is Oh-My-Zsh and how to install it

Oh-My-Zsh is the most popular open-source framework for ZSH configuration management. Once you go to ZSH and Oh-My-Zsh you won’t be able to go back to regular Bash ever again.

It’s really easy to install Oh-My-Zsh, you should have installed curl or wget along with git. To install Oh-My-Zsh you just need to run one of the following commands

via curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

via wget

sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

After installing you can enable and disable plugins with ease by adding them to the .zshrc file in your home directory.
vi ~/.zshrc
You can find the list of plugins on Oh-My-Zsh Wiki

Themes

Themes are one of the reasons why many people try ZSH in the first place, themes like powerlevel10k that look cool.

That is a good reason for sure and you should try to switch up between them until you find the one that suit’s you. I use a simple theme called Elessar.

A full list of built-in themes and external themes can be found here
Themes
External-themes