Open In App

How to Make Linux Terminal look Awesome

In this article, we will install and configure some themes and plugins to tweak our Linux terminal for better productivity and a fancier look. These features include autocompletion, autosuggestion, command-line search, syntax highlighting, and better support for git and environment managers.

Zsh

The Z-shell or Zsh is a UNIX shell with support for various plugins and themes.



sudo apt install zsh      [ Debian/Ubuntu ]
sudo yum install zsh      [ RedHat/CentOS ]
sudo pacman -S zsh        [ Arch/Manjaro ]
sudo dnf install zsh      [ Fedora ]
sudo zypper install zsh   [ OpenSUSE ]

 

Oh My Zsh 

It is an open-source and community-driven framework for managing Zsh configuration. It comes bundled with thousands of helpful functions,  plugins, themes, and much more.

sh -c “$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)” [Using curl]



sh -c “$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”   [Using wget]

 

Nerd Fonts 

Nerd Fonts is a project to create patched fonts. Nerd Fonts takes popular programming fonts and patches them with a large number of glyphs (icons).

 

Powerlevel10k 

Powerlevel10k is a theme for Zsh.  It changes normal shell commands to colorful commands and emphasizes speed, flexibility, and out-of-the-box experience.

git clone –depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k

 

$ p10k configure
$ source ~/.zshr

 

zsh-autosuggestions 

Real-time type-ahead completion for Zsh. Asynchronous find-as-you-type autocompletion.

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

 

zsh-syntaxhighlighting

zsh-syntax-highlighting provides syntax highlighting for the shell zsh. It enables highlighting commands whilst they are typed at a zsh prompt into an interactive terminal. This helps review commands before running them, particularly in catching syntax errors.

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

 

diff-so-fancy

It is a tool that converts the output of diff utility into a more human-readable form. It improves the development speed by providing a simpler way to compare recent changes. With diff-so-fancy, one can focus on the code quality instead of figuring out what all the + and – mean?

$ npm i -g diff-so-fancy

 

To integrate diff-so-fancy with git.

$ git config –global core.pager “diff-so-fancy | less –tabs=4 -RFX”

$ git config –global interactive.diffFilter “diff-so-fancy –patch”

$ git config –global color.ui true

 

Now, we can simply use the git diff command to view recent changes.

$ git diff

 

bat

bat is a supercharged version of the native cat command. It includes features like syntax highlighting, git integration, automatic paging, and much more.

sudo apt install bat      [ Debian/Ubuntu ]
sudo yum install bat      [ RedHat/CentOS ]
sudo pacman -S bat        [ Arch/Manjaro ]
sudo dnf install bat      [ Fedora ]
sudo zypper install bat   [Image Widget OpenSUSE ]

Viewing the content of a file with first cat and then with bat.

 

 

 

 

fzf 

It’s an interactive Unix filter for command-line that can be used with any list; files, command history, processes, hostnames, bookmarks, git commits, etc.

$ git clone –depth 1 https://github.com/junegunn/fzf.git ~/.fzf

$ ~/.fzf/install

 

yehd

 

Article Tags :