This guide documents the best-in-class terminal setup we configured.
- Oh My Zsh - Framework for managing zsh configuration
- Powerlevel10k - Beautiful, fast theme with icons
- zsh-autosuggestions - Fish-style command suggestions (gray text, press → to accept)
- zsh-syntax-highlighting - Highlights valid/invalid commands as you type
- fzf - Fuzzy finder for searching command history (Ctrl+R)
- eza - Modern replacement for
lswith icons and colors - bat - Modern replacement for
catwith syntax highlighting - tldr - Simplified man pages
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10kgit clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestionsgit clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlightingbrew install fzf
$(brew --prefix)/opt/fzf/installSay yes to all prompts.
brew install ezabrew install batbrew install tldrReplace your ~/.zshrc with this configuration:
# Path to your oh-my-zsh installation
export ZSH="$HOME/.oh-my-zsh"
# Theme
ZSH_THEME="powerlevel10k/powerlevel10k"
# Plugins
plugins=(
git
docker
aws
terraform
colored-man-pages
zsh-autosuggestions
zsh-syntax-highlighting
)
source $ZSH/oh-my-zsh.sh
# Custom aliases
alias ll="eza -la --icons"
alias ls="eza --icons"
alias cat="bat"
# fzf
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zshsource ~/.zshrcp10k configureFollow the wizard and choose your preferred style.
- Start typing a command you've used before
- Gray text appears suggesting the rest
- Press → (right arrow) to accept the suggestion
- Press Ctrl+→ to accept one word at a time
- Press Ctrl+R to search command history
- Start typing to filter
- Use ↑/↓ to navigate results
- Press Enter to execute
ls # List files with icons
ll # List all files in long format with iconscat file.py # Shows syntax highlightingtldr tar # Quick examples instead of full man page- Valid commands appear in green
- Invalid commands appear in red
- As you type!
p10k configureEdit ~/.zshrc and add plugins to the plugins=() array.
Popular plugins:
gitignore- Generate .gitignore filesnpm- npm command aliasespython- Python virtualenv supportvscode- VS Code aliases
Full list: https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins
Edit ~/.zshrc and add aliases at the bottom:
alias gc="git commit"
alias gp="git push"
alias gs="git status"Then reload: source ~/.zshrc
Make sure you installed the Meslo Nerd Font and restarted iTerm2:
p10k configure
# Choose "Yes" to install font, then fully quit and restart iTerm2Check they're installed:
ls ~/.oh-my-zsh/custom/plugins/Should show:
- zsh-autosuggestions
- zsh-syntax-highlighting
If missing, reinstall using commands in Step 3 and 4 above.
Edit iTerm2 preferences:
- iTerm2 → Preferences → Profiles → Colors
- Select "ANSI Colors" → "Bright Black"
- Make it darker
uninstall_oh_my_zshbrew uninstall eza bat tldr fzf- Oh My Zsh: https://ohmyz.sh/
- Powerlevel10k: https://github.com/romkatv/powerlevel10k
- fzf: https://github.com/junegunn/fzf
- eza: https://github.com/eza-community/eza
- bat: https://github.com/sharkdp/bat
Your terminal is now configured like a pro! 🚀