Customizing Your Terminal


10 minutes
Updated: September 25, 2021

Introduction

Developers spend a good chunk of their time in the Terminal. While the built-in system Terminal is great, you can greatly increase your productivity by installing a custom Terminal, as well as customizing its look and feel. This codelab will walk you through how to do just that.

What you need

  • macOS: The instructions in this codelab are geared for macOS users, but should (hopefully) be easy enough to follow for other operating systems.

What you'll learn

How to:

  • Install a new terminal application, specifically Hyper
  • Apply a custom theme to Hyper
  • Set up Oh My Zsh, a powerful configuration tool for Zsh
  • Customize your shell

Your new Terminal will look something like this:

End result of customizing your terminal

Installing Hyper

Hyper is an Electron-based terminal built on web technologies that is fully extensible.

You can install it by downloading the client for your operating system directly from the home page:

Downloading Hyper

Applying a custom theme to Hyper

My favorite theme is Dracula, which is straightforward to install:

hyper install hyper-dracula

To activate the theme:

  • Start Hyper
  • Go to View -> Full Reload or press Cmd + Shift + R

Setting Up Oh My Zsh

Oh My Zsh is an open-source framework for managing your zsh configuration. Zsh is now the default shell that comes with macOS.

You can install it via curl with the following command:

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

Customizing Oh My Zsh

Oh My Zsh comes with a lot of plugins that you can take advantage of. In order to enable them, you'll need to update the .zshrc file in your home directory.

Open the file with your favorite text editor:

# Replace `open` with your text editor command of choice, e.g. `vi`, `code`
open ~/.zshrc

Scroll down to find the plugins section, which should default to the following:

# Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)

Enable a new plugin by adding its name to the plugins array. Use whitespace (not commas) to specify the plugins. For example, to enable aliases for common brew commands, add brew to the plugins array:

plugins=(git brew)

Summary

Now you have your own customized Terminal!

Learn more by: