/zsh-config

Installation and customisation of zsh and oh-my-zsh

Primary LanguageShellGNU General Public License v3.0GPL-3.0

zsh config

  • OS : macOS High Sierra
  • Terminal : iTerm2 (Build 3.2.1beta4)
  • Font : Meslo LG L DZ Regular Nerd Font Complete (Size: 14pt)
  • Color scheme : Material Design

Working terminal:

Prerequisite:

Homebrew/macport should be installed. If not then install the lates version of homwbrew.

A step by step guide to customize your zsh terminal:

1. Install iTerm2

iTerm2 is way better than OS X terminal. I would also recommend to install shell integration for it.

2. Install zsh

After installation of zsh, set it as login shell in iTerm2. You may need to run this command: chsh -s $(which zsh). Logout from iTerm2 and then again launch it. Type echo $0 and you will see zsh. You can also use macports to install the zsh.

3. Install oh-my-zsh plugin


Image credit: oh-my-zsh

Run the following command in the terminal to install it:
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

4. Install powerlevel9k theme for oh-my-zsh

Run the following command in the terminal:
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

5. Install a Nerd Font

Download Meslo LG L DZ Regular Nerd Font Complete.otf and install it. Then go to Open ITerm2 > Preferences > Profiles > Text and open Change Font and select Meslo LG L DZ Regular Nerd Font Complete font.

6. Install a color scheme for iTerm2

I choosed material design theme. Installation instructions are given at the given link.

7. Install two more plugins for zsh

  • zsh Syntax Highlighting Plugin:
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

  • zsh AutoSuggestion Plugin:
    git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

8. Replace .zshrc file

Either dowload the given .zshrc file and replace your .zshrc file with this or copy the entire text from the given file to your .zshrc file.