The Z-shell or Zsh is an 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 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.
Using curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Using wget
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
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).
.tff
file. You can also use any other font but make sure it supports all the icons and glyphs required by powerlevel10k.Hack Font
as the default font.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
An installation prompt will begin by default, but if it doesn’t run.
p10k configure
Change the default theme to ZSH_THEME="powerlevel10k/powerlevel10k"
inside ~/.zshrc
.Commit the changes by running
source ~/.zshrc
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
Add zsh-autocomplete
to the list of plugins inside ~/.zshrc plugins=( [plugins...])
.Commit the changes by running
source ~/.zshrc
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
Add zsh-syntax-highlighting
to the list of plugins inside ~/.zshrc plugins=( [plugins...])
.Commit the changes by running
source ~/.zshrc
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
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, simply use the git diff command to view recent changes.
git diff
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.
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
Use ctrl + t
to navigate through the file system.
Use ctrl + r
to navigate through older commands.
Paste this into setting.json
to render all the glyphs-icons in the integrated-terminal.
{
"terminal.integrated.fontFamily": "Hack Nerd Font",
"terminal.integrated.shell.osx": "/bin/zsh",
"terminal.integrated.rendererType": "canvas",
"terminal.integrated.lineHeight": 1.3
}
bash
againFor a single session
bash
To make bash the default terminal
chsh -s $(which bash)
I will also soon be publishing this article on GeeksforGeeks