Prompt & Status
6 plugins
git-prompt
prompt
Displays detailed Git repository info directly in your shell prompt — branch, commits ahead/behind, staged/unstaged counts.
➤ ~/project git:(main) ✗ _
kube-ps1
prompt
Adds Kubernetes context and namespace to your prompt. Toggleable and fully customizable with colors and symbols.
(⎈|prod-cluster:default) ➤ _
battery
prompt
Shows battery charge level and status in the right prompt. Color-coded indicator changes as charge depletes.
➤ ~/project _ ⚡ 78%
shrink-path
prompt
Shortens long directory paths to minimal unique prefixes. Keeps your prompt compact without losing context.
before: /home/me/projects/src
after: /h/m/p/src
starship
prompt
Initializes the Starship cross-shell prompt. Minimal, blazing-fast, and infinitely customizable with a TOML config.
~/project on main via ● v18.0
❯ _
vi-mode
prompt
Adds full Vi/Vim keybindings to your shell. Cursor changes shape between insert and normal mode.
«NORMAL» ➤ ~/project _
Colors & Syntax
3 plugins
colored-man-pages
colors
Adds rich syntax coloring to man pages using termcap escape sequences. Headers, flags, and sections get distinct colors.
NAME
ls — list directory contents
SYNOPSIS
ls [-ABCFGHILOPRSTUWabcdefghikl]
colorize
colors
Syntax-highlights file contents for 300+ languages via Pygments or Chroma. Provides
ccat and cless commands.
$ ccat main.py
def hello():
print("Hello world")
grc
colors
Generic Colouriser — wraps common commands (diff, ping, netstat, ls, etc.) with automatic color output.
$ ping 8.8.8.8
64 bytes from 8.8.8.8: time=12.3 ms
64 bytes from 8.8.8.8: time=11.8 ms
Terminal Integration
7 plugins
iterm2
terminal
iTerm2 shell integration — profile switching, tab color control, Touch Bar customization, and inline images.
$ imgcat logo.png
[inline image displayed]
kitty
terminal
Integration for the Kitty GPU terminal. Enables live theme browsing/switching and optimized SSH via
kssh.
$ kitty +kitten themes
➤ Dracula ➤ Monokai
foot
terminal
Shell integration for the Foot Wayland terminal. Enables directory-aware spawning, prompt jumping, and command piping.
new terminal inherits cwd:
➤ ~/project _
tmux
terminal
Tmux aliases and config management. Can auto-start sessions and customize the terminal multiplexer experience.
$ ta # attach
$ ts # new session
$ tl # list sessions
tmuxinator
terminal
Completion and aliases for Tmuxinator — manage complex tmux session layouts defined in YAML configs.
$ mux start dev
✓ 3 windows, 5 panes ready
screen
terminal
Sets the title and hardstatus bar for GNU Screen sessions. Auto-updates the status display.
hardstatus:
[0 bash] [1 vim] [2 ssh]
term_tab
terminal
Tab-complete working directories from other open Zsh sessions. Jump between terminal contexts fast.
Ctrl+V:
~/project ~/dotfiles ~/work
Navigation & Interaction
8 plugins
zsh-interactive-cd
nav
Hooks into tab completion to launch fzf for interactive directory navigation. Press Tab on
cd to fuzzy-search.
$ cd [Tab]
➤ src/ components/ utils/
zsh-navigation-tools
nav
Ncurses-based interactive tools: n-history, n-cd, n-kill, n-env. Full TUI with search, themes, and selection.
n-history:
➤ git push
npm run build
fancy-ctrl-z
nav
Press Ctrl+Z to suspend a process, press it again on empty line to resume. Seamless toggle between shell and editor.
step 1 — editing in vim
~
~ vim main.py
-- INSERT --
step 2 — press Ctrl+Z → shell
[1]+ Stopped vim main.py
➤ ~/project _
step 3 — press Ctrl+Z again → back to vim
~
~ vim main.py
-- INSERT --
magic-enter
nav
Empty Enter runs context-aware commands:
git status in repos, ls elsewhere. Fully configurable.
in a git repo — press Enter
➤ ~/project ↵
auto-runs git status
➤ git status
✓ On branch main
nothing to commit
outside a repo — auto-runs ls
➤ ls
Documents Downloads Desktop
safe-paste
nav
Prevents pasted text from executing immediately. Lets you review multi-line pastes before running them.
pasted:
rm -rf node_modules ↵
➤ review before running
per-directory-history
nav
Maintains separate command histories per directory plus a global fallback. Toggle with Ctrl+G.
Ctrl+G toggles:
local ↔ global history
emotty
nav
Assigns a unique emoji to each TTY number. Use it in your prompt to visually distinguish terminal sessions.
🐍 tty1 🐱 tty2 🐬 tty3
profiles
nav
Loads hostname-specific shell configs from
$ZSH_CUSTOM/profiles/. Different look per machine.
$ZSH_CUSTOM/profiles/
macbook.zsh server.zsh
Fun & Notifications
7 plugins
emoji
fun
Access Unicode emoji by name via shell variables. Use
$emoji[rocket] in prompts, scripts, and aliases.
$ echo $emoji[rocket]
🚀
emoji-clock
fun
Displays the current time as an emoji clock face with half-hour accuracy. Use in prompt themes.
🕐 1:00 🕓 4:00 🕛 12:00
catimg
fun
Renders images as colored ASCII art directly in your terminal. Uses ImageMagick for conversion.
$ catimg logo.png
██████ ASCII art
lol
fun
Catspeak aliases for everyday commands.
icanhas=mkdir, pwned=ssh, yolo=random git commit.
$ icanhas new-folder
$ yolo # random commit msg
bgnotify
fun
Desktop notifications when long-running commands finish. Configurable threshold and notification style.
🔔 Notification:
✓ npm install completed (42s)
zbell
fun
Rings the terminal bell when commands exceed a time threshold. Optional notify-send integration.
$ make build (takes 30s)
🔔 bell! threshold: 15s
themes
fun
Switch oh-my-zsh themes on the fly without restarting. Browse with
lstheme, apply with theme.
$ theme agnoster
✓ theme switched instantly
No plugins match your search.