Sitemap

Mastering Zsh on macOS: A Guide to Oh My Zsh, Plugins, Themes, and Productivity Hacks

5 min readMar 1, 2025

Unlock the potential of your terminal with Zsh and Oh My Zsh — how to install and customize with plugins, themes, and aliases.

Press enter or click to view image in full size
Photo by Shubham Dhage on Unsplash

The Z shell (Zsh) is a Unix shell that can be used as an interactive login shell and as a command interpreter for shell scripting. Oh My Zsh is a framework built on top of zsh that is structured to allow it to have plugins and themes.

Press enter or click to view image in full size
from https://ohmyz.sh/ official site

You can install zsh on Mac with Homebrew:

brew install zsh

To visit Oh My Zsh page:

To install, open your terminal and copy&paste the following:

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

You can find superb plugins in this GitHub account:

Plugins — Manual Installation:

Navigate to plugins folder (~/.oh-my-zsh/custom/plugins) from your terminal:

cd ~/.oh-my-zsh/custom/plugins

You can now “git clone” the plugins you select among the GitHub projects such as:

git clone https://github.com/zsh-users/zsh-autosuggestions

To enable the plugin, you need to add it to the config file (~/.zshrc). Navigate back to the root and edit the file. I prefer to use “nano” for editing. It is a small editor for the terminal. You can install nano with Homebrew:

brew install nano

Let’s edit the config file:

nano ~/.zshrc

Find “plugins” section:

Press enter or click to view image in full size

After edit:

Press enter or click to view image in full size

Now, you have to start a new terminal session or run the following command (for the changes to take effect without restarting your terminal:

source ~/.zshrc

Let’s check (I typed the letter “p”):

Press enter or click to view image in full size

Voilà!

Plugins — Installation with Homebrew

Let’s install zsh-autosuggestions:

brew install zsh-autosuggestions
Press enter or click to view image in full size

Do what it says under “Caveats” section; edit your “~/.zshrc” file and add the following to the end of the file.

source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh

After that, restart your terminal or run the “source ~/.zshrc” command.

Let’s now install “Fast Syntax Highlighting (F-Sy-H)”:

brew install zsh-fast-syntax-highlighting
Press enter or click to view image in full size

Do not forget to perform the instructions the “Caveats” section; edit your “~/.zshrc” file and add the following to the end of the file.

source /opt/homebrew/opt/zsh-fast-syntax-highlighting/share/zsh-fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh

It is not written there but restart your terminal or run the “source ~/.zshrc” command.

Let’s check (I typed the letter “p”):

Press enter or click to view image in full size

To accept the auto-suggested command, press the → key (forward-char widget).

Voilà!

Default Themes

All the current themes can be found in the “themes” directory:

open ~/.oh-my-zsh/themes

In order to enable a theme, set ZSH_THEME to the name of the theme in your “~/.zshrc” file. The default one is “robbyrussell”. If you do not want any theme enabled, just set its value blank.

Press enter or click to view image in full size

Aliases

You can set personal aliases by creating a file with “.zsh” extension and save it under “~/.oh-my-zsh/custom” folder.

These can also override those already provided; for the full active list, run the “alias” command:

Press enter or click to view image in full size
alias

Now, I will navigate to “custom” folder:

open  ~/.oh-my-zsh/custom

There you will find a sample “zsh” file named “example.zsh”:

Press enter or click to view image in full size
example.zsh

I will create a file named “update-stuff.zsh”:

nano  ~/.oh-my-zsh/custom/update-stuff.zsh

This will be the content of my file:

alias update-stuff='echo "Updating Homebrew..." && brew update && brew upgrade && brew upgrade --cask --greedy && brew cleanup && echo "Updating App Store apps..." && mas upgrade && echo "Update finished!"'

mas (included in the command above) is a command-line interface for the Mac App Store. You can install it with Homebrew:

brew install mas

After saving the file, run the following command (for the changes to take effect without restarting your terminal:

source ~/.zshrc

Now you can run “update-stuff” command from your terminal (as I type, it is already being auto-suggested):

Press enter or click to view image in full size

Happy Coding!

GiphyFriends — Janice

--

--

Nil Seri
Nil Seri

Written by Nil Seri

I would love to change the world, but they won’t give me the source code | coding 👩🏻‍💻 | coffee ☕️ | jazz 🎷 | anime 🐲 | books 📚 | drawing 🎨

No responses yet