Oh My Zsh — The Plugins That Actually Matter

Oh My Zsh has 275+ plugins. I tried way too many of them. Most are useless or so niche you’ll forget they exist. Here are the ones I actually keep enabled and use daily.

The Non-Negotiables

These go in every machine I set up:

  • zsh-autosuggestions — Fish-like suggestions from your command history as you type. Once you have this, you can’t go back. Saves an absurd amount of time.
  • zsh-syntax-highlighting — Colors your commands in real-time. Green = valid command, red = typo. You catch mistakes before hitting Enter.
  • sudo — Press ESC twice to prepend sudo to whatever you just typed. Sounds small, life-changing in practice.
  • z — Jump to directories by partial name. Type z proj and it takes you to /home/user/code/projects because that’s where you go most. Learns your habits.
  • git — 70+ git aliases. gst for status, gco for checkout, gl for log. You stop typing git entirely.

These three need manual installation (they’re not bundled):

# Autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
 
# Syntax highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
 
# Extra completions
git clone https://github.com/zsh-users/zsh-completions \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions

Nice to Have

  • history-substring-search — Type git then press ↑ and it only cycles through commands that started with git. Way better than regular history.
  • web-searchgoogle "how to exit vim" right from your terminal. Also supports ddg, github, etc.
  • copyfilecopyfile script.sh copies the file content to clipboard. Faster than cat + select + copy.
  • colored-man-pages — Man pages become readable. That’s it. That’s the plugin.

My .zshrc Plugins Block

plugins=(
  git
  sudo
  z
  zsh-autosuggestions
  zsh-syntax-highlighting
  history-substring-search
  colored-man-pages
  web-search
  copyfile
  docker
  python
  npm
)

Add docker, python, npm, or whatever matches your stack — they mostly just add tab completion and a few aliases.

Theme: Powerlevel10k

Best theme, no contest. Fast, pretty, configurable.

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

Set ZSH_THEME="powerlevel10k/powerlevel10k" in .zshrc, then run p10k configure. Install a Nerd Font first for full icon support — Powerlevel10k will prompt you about this.

See Also