121 KiB
awesome-zsh-plugins
Status
A collection of ZSH frameworks, plugins, tutorials & themes inspired by the various awesome list collections out there.
Table of Contents
- Frameworks
- Tutorials
- Plugins
- Even more completions
- Themes
- Installation
- Writing New Plugins
- Other Resources
Please read the Contributing Guidelines before contributing.
Frameworks
These frameworks make customizing your ZSH setup easier.
alf
Alf is an out of this world super fast and configurable framework for ZSH; it's modeled after Prezto and Antigen while utilizing Oh-My-Zsh under the covers; and offers standard defaults, aliases, functions, auto completion, automated updates and installable prompt themes and plugins.
ansible-role-zsh
ansible-role-zsh is an ansible role with zero-knowledge installation. It uses antigen to manage bundles and oh-my-zsh. Can load bundles conditionally. By default it includes powerlevel9k theme, autosuggestions, syntax-highlighting and fzf-widgets. Fully customizable.
ant-zsh
Ant-zsh is a tiny and lightweight ZSH configuration environment for special customization needs. It includes plugins, themes and a basic convenient setup.
antibody
Antibody A faster and simpler antigen written in Golang. More details at http://getantibody.github.io/.
antigen-hs
antigen-hs is a replacement for antigen optimized for a low overhead when starting up the shell. It will automatically clone plugins for you.
antigen
Antigen is a small set of functions that help you easily manage your shell (ZSH) plugins, called bundles. The concept is pretty much the same as bundles in a typical vim+pathogen setup. Antigen is to ZSH, what Vundle is to vim. Antigen can load oh-my-zsh themes and plugins and will automatically clone them for you.
ax-zsh
Ax-ZSH is a modular configuration system for ZSH. It provides sane defaults and is extendable by plugins.
dotzsh
Dotzsh strives to be platform and version independent. Some functionality may be lost when running under older versions of ZSH, but it should degrade cleanly and allow you to use the same setup on multiple machines of differing OSes without problems.
fresh
fresh is a tool to source shell configuration (aliases, functions, etc) from others into your own configuration files. We also support files such as ackrc and gitconfig. Think of it as Bundler for your dot files.
oh-my-zsh
oh-my-zsh is a community-driven framework for managing your ZSH configuration. Includes 120+ optional plugins (rails, git, macOS, hub, capistrano, brew, ant, macports, etc), over 120 themes to spice up your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community.
prezto
Prezto enriches the ZSH command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes.
pumice
Pumice is a lightweight plugin manager for ZSH.
Toasty
Toasty is a ZSH framework made to facilitate management, not dictate it.
zeesh
Zeesh is a cross-platform ZSH framework. It's similar to, but incompatible with, oh-my-zsh. It has a modular plugin architecture making it easy to extend. It has a rich set of defaults, but is designed to be as lightweight as possible.
zgem
Zgem is a plugin manager for ZSH that supports loading and updating plugins and themes from git, http and local files.
zgen
Zgen is a lightweight plugin manager for ZSH inspired by Antigen. The goal is to have a minimal overhead when starting up the shell because nobody likes waiting. The script generates a static init.zsh
file which does nothing but source your plugins and append them to your fpath
. This saves startup time by not having to execute time consuming logic (plugin checking, updates, etc). The downside is that you have to refresh the init script manually with zgen reset
whenever you update your .zshrc
. Can load oh-my-zsh-compatible plugins and themes, and will automagically clone them for you when you add them to your plugin list.
zilsh
zilsh is a ZSH config system that aims to appeal more to power-users and follow the simplistic approach of vim-pathogen.
[zim]https://github.com/zimfw/zimfw)
Zim is a ZSH configuration framework with blazing speed and modular extensions.
zit
zit is a plugin manager for ZSH. It is minimal because it implements the bare minimum to be qualified as a plugin manager: it allows the user to install plugins from Git repositories (and Git repositories only, them why the name), source plugins and update them. It does not implement fancy functions like cleanup of removed plugins, automatic compilation of installed plugins, alias for oh-my-zsh/prezto/other ZSH frameworks, building binaries, PATH manipulation and others.
zoppo
Zoppo is the crippled configuration framework for ZSH. As an Italian saying goes: "chi va con lo zoppo, impara a zoppicare", we realized we were walking with a cripple and are now going to become crippled ourselves.
zpacker
Zpacker is a lightweight ZSH plugin & theme management framework.
zplug
🌺 Zplug is a next-generation ZSH plugin manager.
- Can manage everything
- Zsh plugins/UNIX commands on GitHub and Bitbucket
- Gist files (gist.github.com)
- Externally managed plugins e.g., oh-my-zsh and prezto plugins/themes
- Binary artifacts on GitHub Releases
- Local plugins
- etc. (you can add your own sources!)
- Super-fast parallel installation/update
- Support for lazy-loading
- Branch/tag/commit support
- Post-update, post-load hooks
- Dependencies between packages
- Unlike antigen, no ZSH plugin file (
*.plugin.zsh
) required - Interactive interface (fzf, peco, zaw, and so on)
- Cache mechanism for reducing the startup time
zplugin
Zplugin is an innovative plugin manager with semigraphical UI, Turbo Mode, a clean fpath, reports, completion management and services support.
ZPM
ZPM ( ZSH Plugin Manager ) is a plugin manager for ZSH similar to vim-plug. ZPM plugins are compatible with oh-my-zsh. ZPM runs on Linux, macOS, FreeBSD and Android.
ZR
ZR is a quick, simple ZSH plugin manager written in Rust and easily installable with cargo install zr
.
zshing
zshing is a ZSH plugin manager similar to Vundle/Vim and allows you to...
- keep track of and configure your plugins right in the
.zshrc
- Install Zsh plugins
- Update Zsh plugins
- Search by name all available Zsh Plugins
- Clean unused plugins up
- run the above actions in a single command
- manages the Source Plugins of your installed Plugins
ztanesh
Ztanesh aims to improve your UNIX command line experience and productivity with the the configuration provided by the ztanesh project: the tools will make your shell more powerful and easier to use.
zulu
Zulu is a environment manager for ZSH 5+, which aims to make it easy to manage your shell without writing any code.
- Easily manage your shell environment without editing files.
- Create aliases, functions and environment variables, and have them available to you at the next shell startup.
- Add and remove directories from
$path
,$fpath
and$cdpath
with simple commands. - Install packages, plugins and themes easily, and have them available to you immediately.
Tutorials
Generic ZSH
- A Beautifully Productive Terminal Experience - Tutorial using a combination of iTerm 2, ZSH, Prezto, Tmux, and Tmuxinator to make for an extremely productive developer workflow.
- https://commandlinepoweruser.com - Wes Bos' videos introducing ZSH and oh-my-zsh.
- https://wiki.archlinux.org/index.php/zsh - Arch Linux's ZSH introduction. Not Arch or Linux-specific.
- Outrageously Useful Tips To Master Your Z Shell covers some of the features that ZSH has that Bash doesn't, and using oh-my-zsh.
- The Text Triumvirate - Seth Brown's tutorial on combining ZSH, tmux and vim.
- Why ZSH is Cooler than your Shell - slideshare presentation.
- ZSH Pony - Covers customizing ZSH without a framework.
- ZSH tips by Christian Schneider - An exhaustive list of ZSH tips by Christian Schneider.
Antigen
- https://mgdm.net/weblog/zsh-antigen/ - Michael Maclean's article about switching from oh-my-zsh to antigen.
- Oh-my-zsh is the Disease and Antigen is the Vaccine - Josh Davis' introduction to Antigen.
Oh-My-Zsh
- ZSH Gem 24 - Part of the 2011 ZSH Advent Calendar. Covers oh-my-zsh and zshuery.
Prezto
- A Beautifully Productive Terminal Experience - Mike Buss' blog post about using Prezto, Tmux & Tmuxinator.
- Ditching oh-my-zsh for prezto - Linh M. Tran's post about transitioning to Prezto from Oh-My-Zsh.
- Migrate from Oh-My-Zsh to Prezto - Jerome Dalbert's blog post on migrating to Prezto.
Zgen
- zsh-quickstart-kit - A simple quickstart for using ZSH with zgen. This includes a curated collection of plugins, and will automatically configure ZSH to use zgen to load them, configures zgen to periodically automatically update itself, the plugins, and the quickstart kit itself.
Plugins
- 256color - Enhances the terminal environment with 256 colors. It looks at the chosen TERM environment variable and sees if there is respective ncurses' terminfo with 256 colors available. The result is a multicolor terminal, if available.
- abbr-path - Adds functionality of the
theme_title_use_abbreviated_path
parameter from some oh-my-fish themes. - abbrev-alias - Provides functionality similar to Vim's abbreviation expansion.
- accurev-zsh - ZSH plugin for accurev.
- alias-tips - An oh-my-zsh plugin to help remembering those aliases you defined once.
- allergen - A collection of custom ZSH plugins to use with antigen.
- almostontop - Clears previous command output every time before new command executed in shell. Inspired by alwaysontop plugin for bash.
- ansible - A plugin for Ansible.
- ansiweather - Weather in your terminal, with ANSI colors and Unicode symbols.
- antigen-git-rebase - Antigen/zsh script to aid with Git rebasing.
- antigen-git-store - Antigen/zsh script to store Git's current working directory. For working with Git between two computers without forcing arbitrary commits.
- anyframe - A peco/percol/fzf wrapper plugin for ZSH.
- apache2 - Adds aliases and functions for managing Apache2.
- apple-touchbar - Adds MacBook Pro's touchbar support in iTerm 2.
- appup - Adds
start
,stop
,up
anddown
commands when it detects a docker-compose or Vagrant file in the current directory (e.g. your application). Just runup
and get coding! - asciidoctor - A plugin for AsciiDoctor.
- async - Library for running asynchronous tasks in ZSH without requiring any external tools. Allows you to run multiple asynchronous jobs, enforce unique jobs (multiple instances of the same job will not run), flush all currently running jobs and create multiple workers (each with their own jobs).
- atom-plugin - A plugin for Oh My Zsh that lets you launch a file or folder in Atom from iTerm 2. It's based on the Sublime plugin. Only supports macOS.
- atom - A plugin for the Atom editor on macOS.
- auto-color-ls - Automatically list directories with
colorls
. - auto-fu.zsh - Automatic complete-word and list-choices. Originally incr-0.2.zsh by y.fujii .
- auto-ls - Automatically
ls
when cding to a new directory. - autoenv-extended - Extended version of the zsh-autoenv plugin.
- autoenv - If a directory contains a
.env
file, it will automatically be executed when you cd into it. - autojump - A cd command that learns - easily navigate directories from the command line. Install autojump-zsh for best results.
- autopair - A ZSH plugin for auto-closing, deleting and skipping over matching delimiters. Only tested on ZSH 5.0.2 or later.
- autosuggestions - Fish-like fast/unobtrusive autosuggestions for ZSH.
- autoswitch-virtualenv - ZSH plugin to automatically switch python virtualenvs when traversing directories.
- autoupdate-antigen.zshplugin - Antigen doesn't do automatic updates like oh-my-zsh. This plugin adds auto updating for antigen, both of antigen and the bundles loaded in your configuration.
- autoupdate-oh-my-zsh-plugins - oh-my-zsh doesn't autoupdate non-core plugins, this adds plugin autoupdating to omz.
- aws-upload-zsh - Boost your productivity with aws-upload.
- aws-vault - Plugin for aws-vault.
- base16 - Adds script to allow you to change your shell's default ANSI colors but most importantly, colors 17 to 21 of your shell's 256 colorspace (if supported by your terminal). This script makes it possible to honor the original bright colors of your shell (e.g. bright green is still green and so on) while providing additional base16 colors to applications such as Vim.
- basex - Adds several BaseX aliases for simplified usage.
- bash - Makes ZSH more Bash compatible. It redefines the source command to act more like Bash does. It also enables Bash completions.
- battery_state - Show battery state in right-prompt.
- bd - Jump back to a specific directory, without doing
cd ../../..
. - bepoptimist - Remap ZSH vi-mode for French bépo keyboard.
- betterbrew - Add more command aliases for
brew
- bitbucket-git-helpers - Adds helper scripts to allow you to create bitbucket PRs or open a directory in the current branch.
- blackbox - Stack Exchange's toolkit for storing keys/credentials securely in a git repository.
- branch-manager - A plugin for managing git branches.
- browse-commit - A plugin that lets you open any commit in your browser from the command line.
- bumblebee - A plugin to toggle optirun in the command line.
- calc - A calculator for ZSH.
- caniuse - Add Can I Use... support to ZSH.
- careful_rm - A wrapper for rm that adds trash/recycling and useful warnings
- cd-gitroot - A ZSH plugin to cd to the git repository root directory.
- cd-reporoot - A ZSH plugin to cd to the google-repo repository root directory.
- cd-ssh -
ssh
to a server when you accidentallycd
to it. - cdbk - A ZSH plugin to allow easy named directory creation - shortcuts to any directory you want.
- cdr - Easy setup of cdr for ZSH.
- change-case - Plugin for fast swap between upper and lower case in your command line. 😎
- clean-project - Remove files from projects (automatically by default). Useful for keeping
.DS_Store
andThumbs.db
files from cluttering your directories. - cmd-architect - Build commands from what's in history and at prompt, move, delete, add command segments and search history with multi-word queries.
- colored-man-pages-mod - Forked from robbyrussell/oh-my-zsh/plugins/colored-man-pages. Colorizes
man
output. - colored-man-pages - Colorize man pages.
- colors (Tarrasch) - Makes it easier to colorize text from the CLI.
red foo
just works. - colors (zpm-zsh) - Colorize output of various programs.
- command-not-found - mirror of the oh-my-zsh command-not-found plugin so you don't have to include all of omz.
- command-time - Show execution time for long commands in ZSH and powerlevel9k.
- completion-generator - This plugin tries to read the list of options from the help text of programs and generate a completion function automatically. Note that this doesn't do it automatically, you have to explicitly call the generator to create a completion script.
- copyzshell - A ZSH plugin to copy your shell configuration to another machine over
ssh
. - crash - Adds proper error handling, exceptions and try/catch for ZSH.
- crayon-syntax-zsh - ZSH syntax highlighting for the Crayon Plugin for Wordpress.
- crypto-prices - Add a powerlevel9k segment with the current bitcoin price.
- crystal - A plugin for Crystal.
- czhttpd - A simple http server written in 99.9% pure ZSH.
- deer - A file navigator for ZSH heavily inspired by ranger.
- depot-tools - Simple oh-my-zsh plugin for installing the chromium depot_tools. Installing this plugin will put all of the chromium depot_tools in your path automatically.
- diff-so-fancy - Simplify installing the
diff-so-fancy
project into your user account. - diractions - Allow you to map a short logical/mnemonic name to directories to quickly access them, or perform actions in them.
- dircolors-solarized - Solarized dircolors plugin.
- dircycle - Cycle through the directory stack.
- directory-history - A per directory history for ZSH.
- dirrc - Executes
.dirc
when present in a directory youcd
into. - dirstack - Plugin for displaying dirstack info on a single line.
- docker-aliases Docker aliases for everyday use.
- docker-compose Show docker container status in your prompt.
- docker-helpers - A collection of docker helper scripts.
- docker-machine - A docker-machine plugin for ZSH.
- docker-run - Go back to running your commands "naturally", we'll handle the container.
- dogesh - Dogification plugin.
- dotpyvenv - If you have a
.pyvenv
virtualenv, will automagically switches to it. - dropbox - A dropbox plugin for Zsh that provides
dropbox-cli
anddropbox-uploader
commands. - dune-quotes - Random Dune quote generator plugin.
- dwim - zsh-dwim attempts to predict what you will want to do next. It provides a key binding (control-u) that will replace the current (or previous) command line with the command you will want to run next.
- ec2ssh - List EC2 instances and
ssh
login to the instances easily. - editing-workbench - Adds sane, complex command line editing (e.g. incremental history word completion).
- elixir-oh-my-zsh - Adds shortcuts for Elixir, IEX, Mix, Kiex and Phoenix.
- emoji-cli - 😱 Emoji completion on the command line.
- emojis - Adds numerous ascii art emojis to your environment in convenient variables.
- enhancd - A simple tool that provides enhanced
cd
command. - escape-backtick - Quickly insert escaped backticks when double-tapping "`".
- exercism - A plugin for exercism.io.
- expand-ealias - Expand specific aliases with space.
- explain-shell - Opens commands on explainshell.com.
- extend-history - Extends command history by adding exit code for each command in the history.
- fancy-ctrl-z - Broken out version of the version in oh-my-zsh so users of other frameworks don't have to import all of OMZ.
- fast-syntax-highlighting - Optimized an improved
zsh-users/zsh-syntax-highlighting
– better response times,zed/vared
can edit10 kB
functions. - favorite-directories - Fast jumps to your favorite directories.
- firebase-zsh - Add an indicator in the prompt that you're in a directory with a
firebase.json
file (aka "firebase project"). - fixnumpad-osx - Enables numpad keys of Apple keyboards to be recognized in ZSH.
- flow-plugin - This plugin makes the flow command available inside every subdirectory of the TYPO3 Flow distribution.
- forgit - Utility tool for git taking advantage of fuzzy finder fzf.
- functional - ZSH higher order functions.
- fuzzy-search-and-edit - ZSH plugin for fuzzy searching files and instantly opening a matched file on matched line.
- fz - Seamlessly adds fuzzy search to z's tab completion and lets you easily jump around among your historical directories.
- fzf-finder - Plugin to have a cool search keybinding with fzf and (optionally) bat.
- fzf-marks - Little script to create, navigate and delete bookmarks in Bash and Zsh, using the fuzzy finder fzf.
- fzf-mpd - A ZSH plugin that allows you to control mpd using fzf.
- fzf-widgets - Adds some ZLE widgets for fzf.
- fzf-z - Brings together the z plugin and fzf to allow you to easily browse recently used directories at any point on the command line.
- fzy - Plugin that uses fzy for certain fuzzy matching operations.
- geeknote - Geeknote plugin for ZSH.
- geometry-datetime - Geometry datetime plugin. Shows datetime (
date
unix command) in your prompt. - geometry-hydrate - Geometry plugin to remind you to hydrate.
- geometry-npm-package-version - Geometry plugin to display the current folder's npm package version.
- geometry-rust-version - Geometry plugin to display the current folder's Rust version when either a
.rs
orCargo.toml
is present. - get-jquery - Plugin for fast downloading jQuery library from code.jquery.com.
- ghost-zeus - Lets you use zeus with normal rails commands.
- gimme - Manage Go installations with gimme.
- git-add-remote - Easily add the upstream remote to your git fork.
- git-aliases (mdumitru) - Broken out version of the version in oh-my-zsh so users of other frameworks don't have to import all of OMZ.
- git-aliases.zsh - Creates a lot of useful aliases for combinations of commonly used git commands.
- git-complete-urls - enhance git completion to include in the remotes completion (e.g. from
git clone
) any URL in the clipboard. - git-extra-commands - Extra git helper scripts packaged as a plugin.
- git-it-on.zsh - Adds ability to open a folder in your current branch on GitHub.
- git-plugin - Adds some functions for git.
- git-prompt-useremail - Adds prompt reminders for git user.email.
- git-prune - Plugin that simplifies deleting merged branches.
- git-scripts - Adds
git-squash-branch
andgit-remove-merged
commands. - git-secret - A bash-tool to store your private data inside a git repository.
- git-smart-commands - Adds git commands to make some common git usages more efficient.
- git-sync - A ZSH plugin to sync git repositories and clean them up.
- gitfast - Updated fork of oh-my-zsh gitfast plugin.
- gitgo - Open a Github/Gitlab repository in your browser from the command line (macOS only).
- gitignore - Plugin for creating
.gitignore
files. - gitio-zsh - A ZSH plugin for generating a GitHub short URL using git.io.
- gitsync - ZSH plugin to improve workflows for one person developing on the same repository on multiple machines.
- goenv - Antigen plugin to manage
$GOPATH
similarly to Python's virtualenvwrapper. - going_places - A plugin that helps to use, create and maintain a list of shell locations.
- gpg-agent - Plugin that tries to do the right thing when it comes to setting up the GPG agent to act as an SSH agent as well on macOS.
- gpg-crypt - ZSH plugin to encrypt/decrypt files or directories in place.
- grep2awk - ZLE widget to transform grep command into awk command.
- grunt-plugin - Add autocompletion for grunt.
- gtm-terminal-plugin - terminal plugin for git time metrics.
- gvm (dgnest) - gvm (Go version manager) plugin for ZSH.
- gvm (yerinle) - Provides autocompletion for gvm (Groovy enVironment Manager).
- hacker-quotes - Outputs a hacker quote randomly when you open a terminal.
- hadoop-plugin - Adds some convenience aliases for hadoop functions.
- hanami-zsh - ZSH plugin for hanami projects.
- hints - Display glob and parameter flags and other non completable info right under your editing buffer.
- hipchat - Send hipchat messages from the shell.
- histdb - Stores your history in an SQLite database.
- history-search-multi-word - syntax highlighted, multi-word history searcher for ZSH, bound to Ctrl-R, with advanced functions (e.g. bump of history entry to top of history).
- history-substring-search - Needs to be loaded after zsh-syntax-highlighting, or they'll both break. You'll also need to bind keys to its functions, details are in the README.md.
- history-sync - An Oh My Zsh plugin for GPG encrypted, Internet synchronized ZSH history using Git.
- history - Extend history so that it can be queried by SQL.
- hooks - Add missing hooks - for plugins and personal use.
- host-switch - Make it easier to switch in different
/etc/hosts
files during development. - hub-ci-zsh-plugin - A simple plugin for adding hub ci-status to your ZSH theme.
- ing -
ping
, but shorter output. - intellij - Extract intellij bookmarks into markdown format.
- interactive-cd - Fish-like interactive tab completion for
cd
. - iosctl - Quickly access App, Data, and Log of the running simulator.
- iterm-tab-colors - Automatically changes iTerm 2 tab color based on the current working directory.
- iterm-touchbar - Display iTerm2 feedback in the MacbookPro TouchBar (Current directory, git branch & status).
- iterm2-colors - Manage your iTerm 2's color scheme from the command line.
- iterm2-tabs - Set colors and titles of iTerm 2 tabs.
- jabba - Adds shell integration code and completions for the jabba Java version manager.
- java-zsh-plugin - Adds a
setjdk
command so you can switch easily between different versions of the jdk. - jdk-switch - macOS-only plugin for switching between jdk versions.
- jenkins-zsh - A jenkins plugin for ZSH, heavily inspired by the excellent jira plugin.
- jhipster - Adds commands for jHipster.
- jira-plus - Create JIRAs from the command line.
- jvm - Allows selection of JDK on macOS.
- k - Directory listings for ZSH with git features.
- kill-node - ZSH plugin for murdering node process families.
- kitsunebook - KitsuneBook plugin for oh-my-zsh.
- konsole-theme-changer - Toggle konsole theme from ZSH.
- kube-ps1 - ZSH plugin for kubectl that adds current context and namespace.
- kubectl-zsh-plugin - ZSH plugin for managing kubectl.
- kubernetes - Add kubernetes helper functions and aliases.
- laradock-workspace - Provides an interface to Laradock's workspace.
- laravel - Add shortcuts for Laravel 5, 5.1, 5.2 & 5.3.
- last-working-directory (mdumitru) - Broken out version of the version in oh-my-zsh so users of other frameworks don't have to import all of OMZ.
- lesaint-git - Replacement git plugin for Oh-My-Zsh-compatible frameworks.
- lesaint-mvn - Maven plugins for Oh-My-Zsh.
- linuxbrew - Zsh plugin for linuxbrew.
- listbox - Listbox element for shell.
- locate-sublime-projects-cli - Allows searching for Sublime Text projects and opens them in Sublime.
- loremipsum - Generate lorem ipsum text on the command line. Gets data from lipsum.com.
- ls - Colorizes the output of
ls
. - lumberjack - Lumberjack is a logging interface for shell scripts.
- mac-packaging - A set of common functions used for enterprise Mac packaging with Munki.
- macos - A ZSH plugin for macOS.
- mage2docker - Makes it easy to work with Docker and Magento 2. Speeds up and simplifies common commands like clean cache, setup upgrade, compile di and much more in Magento 2 on containers.
- manydots-magic - A zle tweak for emulating
...'==
../..' etc. - markedit - Mark Files and Edit them With Autocompletion for existing Marks.
- markgate - Allows you to mark directories so you can jump directly to them.
- maven-plugin - A fork of the oh-my-zsh maven plugin.
- mercurial - Extracted from oh-my-zsh so you can use it without oh-my-zsh.
- mfunc - Allows you to define persistent functions on-the-fly, without the need to add them to your config files. These functions are permanently available until you delete them.
- mode-switch.CLI - A ZSH plugin for switching command line between normal mode and vi mode.
- monorepo-plugin - ZSH plugin for monorepo management.
- morpho - Terminal screen savers written in pure ZSH, and also screen saver framework.
- msf - Metasploit handler plugin for starting handler easily.
- mylocation - A plugin to show your current location based on your IP address.
- mysql-colorize - Colors for mysql tables.
- mysql - Adds some functions for dealing with mysql.
- n - Auto-switches node versions based on project environment using n.
- navigation-tools - Adds
htop
-likekill
, directory bookmarks browser, multi-word incremental history searcher and more. - nice-exit-code - Maps exit status code to human readable string.
- nix-shell - Plugin that lets you use ZSH as the default
nix-shell
shell. - node - Srijan Shetty's nodejs plugin for ZSH with caching of nvm completions and autoloading of nvm if present.
- nodenv - Auto-load nodenv and its completions into the shell.
- nohup - Add
nohup
to the current command pressingCtrl-H
. - noreallyjustfuckingstopalready - macOS users know the pain of trying to figure out what command actually flushes the DNS cache on their version of macOS, and this plugin makes that annoyance go away.
- notes - Provides a quick notes editing experience in ZSH.
- notify - A plugin for ZSH (on macOS and Linux) that posts desktop notifications when a command terminates with a non-zero exit status or when it took more than 30 seconds to complete, if the terminal application is in the background (or the command's terminal tab is inactive).
- nvm-auto-use - calls
nvm use
automatically whenever you enter a directory that contains an.nvmrc
file with a string telling nvm which node to use. - nvm-auto - Aims to alleviate needing to type
nvm use
as much as possible, especially if you often switch between versions of node.js and use.nvmrc
files in your project to manage what version of node your project needs. - nvm - ZSH plugin for installing, updating and loading nvm.
- oh-my-matrix - Turn your terminal into the matrix.
- open-create-projects - Open/Create projects in Jetbrains.
- open-pr - A ZSH plugin to open pull requests from command line.
- openshift-origin - Add a few shortcuts to common openshift origin (oc) actions.
- opera-git-plugin - Git aliases.
- operator - Clean and simple theme, works best with Menlo for Powerline.
- opp.zsh - Vim's text-objects-ish for ZSH.
- opt-path - Automatically add
~/opt
subpaths to your$PATH
. - osx-dev - This plugin adds some commands for maintaining various server programs on my macOS install.
- osx - Add some common macOS related aliases and functions.
- paci - Plugin for archlinux package managers.
- pantheon-terminal-notify - Background notifications for long running commands. Supports Elementary OS Freya.
- pctl - Toggle the environment variables for proxying.
- peco-history - Search shell history with Peco when pressing ctrl+r.
- percol - Interactively and incrementally search history/resume background jobs.
- pg - Adds utility functions to work with PosgreSQL.
- phpcs - Plugin for PHP code sniffer.
- phpunit - Plugin for PHPUnit.
- pip-app - Makes it easy to install python applications into distinct virtualenvs so they don't conflict with any other python requirements on your system.
- plugin-ibtool - Adds ibtool shortcuts to generate localized XIB files.
- plugin-rails - ZSH plugin for Rails.
- plugin-vscode - Plugin for Visual Studio Code, a text editor for macOS, Windows, and Linux.
- plugin - Creates custom oh-my-zsh plugins from a boilerplate template. Very oh-my-zsh centric, the generated plugins will need editing to work with other frameworks.
- pretty-time-zsh - Convert seconds to a human readable string: 165392 → 1d 21h 56m 32s.
- profile-secrets - Securely keep sensitive variables (api tokens, passwords, etc) as part of your terminal init files. Uses gpg to encrypt/decrypt the file with your secrets.
- project (gko) - Create node/python/ruby project both locally and on github(private or public repository).
- project (voronkovich) - Plugin for managing projects.
- proxy-plugin - Aliases to manage proxy shell environment settings.
- purs - A Pure-inspired prompt in Rust.
- pyenv-lazy-load - Plugin for lazy-loading pyenv in ZSH.
- pyenv-lazy - Lazy load pyenv. The initial
eval "$(pyenv init -)"
is executed the first time pyenv is called. - q (cal2195) - Vim-like macro registers for your ZSH shell.
- q (tomsquest) - Tail/remove the temp file for Q.
- quoter - Display a random quote when opening a new terminal session.
- randeme - Chooses a random theme for each session. If you not like the chosen theme you can run
randeme_rm
to never show that theme again. - razer-status-code - change the colour of your Razer Mouse based on the status of the last executed command. Requires OpenRazer linux drivers.
- rbenv (ELLIOTTCABLE) - A faster fork of the rbenv plugin from oh-my-zsh.
- rbenv (jsahlen) - Variant based on the original oh-my-zsh rbenv plugin.
- redis - Will run
redis-server
pointing it to theredis.conf
configuration file. This can be used with the zdharma/zredis plugin to share variables between shells. - reentry-hook - Plugin that re-enters working directory if it has been removed and re-created.
- reminder - A plugin which displays reminders above every prompt.
- revolver - A progress spinner for ZSH scripts.
- ripz - Reminds you of your aliases, so you use them more. Depends on ripgrep.
- robo-zsh-plugin - A ZSH plugin for Robo.
- rockz - Lua + LuaRocks virtual environment manager based upon VirtualZ.
- ruby-switch - Switch ruby versions and manage the PATH variable at the same time.
- rvm-zsh - Initiates RVM and adds rubygem binaries (like compass) accessible in the user's
$PATH
. - safe-paste - A safe-paste plugin. See Conrad Irwin's bracketed-paste blog post.
- saneopt - Sane defaults for ZSH options, in the spirit of vim-sensible.
- schroot - Show current chroot name in your prompt.
- select - Multi-term searched selection list with approximate matching and uniq mode.
- send.zsh - Single command to git add, git commit, and git push for much faster git workflow.
- sensei-git - Adds many git aliases and helper shell functions.
- setenv - Runs a script when you change directories.
- simple-agnoster - Powerline-inspired simple theme with git decorations.
- simpleserver - Plugin to easily start python SimpleHTTPServer and SimpleHTTPSServer.
- smart-cd - Runs
ls
andgit status
after chpwd. - snippets - Command line snippet expansion.
- solarized-man - A modified version of oh-my-zsh's plugin colored-man-pages, optimized for the solarized dark theme in terminal.
- ssh-connect - A simple
ssh
manager. - ssh-plugin - Plugin for
ssh
. - startup-timer - Print the time it takes for the shell to start up.
- stashy - Plugin that simplifies using
git stash
. - statify - Plugin that does basic statistical analysis.
- sterror - Interprets error messages from programs and displays a human readable error message when available.
- sublime - Same as the official Sublime plugin for Oh My Zsh, but this opens files in the current Sublime window, if there is one already open.
- sudo - The sudo plugin from oh-my-zsh, extracted to a standalone. Toggles
sudo
before the current/previous command by pressing ESC-ESC in emacs-mode or vi-command mode. - suffix-alias - Directly open files in the shell using ZSH's suffix aliases.
- symfony - ZSH plugin for Symfony 2 and 3.
- syntax-highlighting-filetypes - ZSH syntax highlighting with dircolors in realtime.
- syntax-highlighting - Add syntax highlighting to your ZSH. Make sure you load this before zsh-users/zsh-history-substring-search or they will both break.
- sys-diver-zsh - A ZSH plugin for directory change or editor startup with only key operations using widgits without typing command.
- sysadmin-util - Steve Kemp's collection of tool scripts for sysadmins.
- t32 - Plugin for the Lauterbach Trace32 toolset. It automatically registers fonts and sets all necessary environment variables to run the t32 toolset.
- tailf - Adds
tailf
function with prefixed newlines instead of trailing newlines. - taskbook - Auto-completes task numbers for taskbook.
- terminal-app - A plugin for integrating with the new El Capitan Terminal.app features.
- terminal-workload-report - A plugin that calculates and displays how many commands have been run via terminal.
- terraform - Terraform convenience functions and aliases for ZSH.
- timewarrior - Plugin for timewarrior a timetracking application.
- tipz - Displays your alias if you have an alias for the command you just ran (Similar to alias-tips).
- titles - Automatic window and tab titles for tmux and xterm-compatible terminals.
- tmux-fork Standalone fork of the oh-my-zsh tmux plugin
- tmux-rename - Rename tmux windows automatically.
- tmux-simple - Simple plugin for using tmux with ZSH.
- tmux-vim-integration - Open files in a running Vim (or NeoVim) session, from an adjacent Tmux pane
- tmux-zsh-vim-titles - Create unified terminal titles for tmux, ZSH, and Vim/NVIM, modular.
- tmux - Plugin for tmux
- tmuxrepl - Simple ZSH plugin to have a R-EP-L tmux session.
- travis - Opens the Travis CI page for the current repo if one exists.
- tsm - Adds a tmux Session Manager.
- tumult - Adds tools for macOS.
- ubuntualiases - Ubuntu 16 aliases.
- up.zsh - Adds an up command to cd multiple levels up.
- url-highlighter - A plugin for the ZSH syntax highlighter that turns URLs green if they respond with a "good" status, and red otherwise. Useful for checking URL typos.
- uvenv - Extends the functionality of the original oh-my-zsh venv module
- vanilli.sh - A lightweight start point of shell configuration.
- velocity - Powerline-based theme elements for ZSH and tmux.
- venv-lite - A super-lightweight sort-of-clone of virtualenvwrapper; it pretty much expects you to be using pyenv (though you don't have to), and because it's based on the
venv
module, (creation) only works for python >= 3.3. - viexchange - Vi mode plugin for easily swapping text between two places in the buffer, like vim-exchange.
- vim-mode - Friendly Vi-mode bindings, adding basic Emacs keys, incremental search, mode indicators and more.
- vim-plugin - Allows you to do
vim filename:123
to open a file with the cursor at a specific line. - vimman - View vim plugin manuals (help) like man in ZSH.
- vimto - Improved ZSH vim mode (bindkey -v) plugin.
- virtualenv-mod - A modified virtualenv ZSH plugin for oh-my-zsh.
- virtualenv-prompt - A fork of the virtualenv plugin from upstream. It adds support for customizing the virtualenv prompt in oh-my-zsh themes.
- virtualz - Python virtualenv manager inspired by Virtualfish, replaces virtualenvwrapper.
- virtuozzo-plugin - An oh-my-zsh plugin for the virtuozzo bare-metal virtualization system.
- visit - Custom plugin for faster navigation.
- vox - An oh-my-zsh plugin to control VOX, a lightweight full-featured audio player for macOS that can play a variety of formats including FLAC and Ogg Vorbis.
- vsc - Plugin for Visual Studio Code on macOS.
- vscode - Plugin for Visual Studio Code.
- wack - Wraps
ack
command. - wakatime-zsh-plugin - Track how much time you have spent in your terminal. Has per project stats.
- wakatime - Automatic time tracking for commands in ZSH using wakatime.
- warhol - Configures colorization with grc.
- watson.zsh - A plugin for the watson time management system.
- wd - Warp directory lets you jump to custom directories in ZSH, without using
cd
. Why? Becausecd
seems inefficient when the folder is frequently visited or has a long path. - workon - Simple utility for jumping between projects
- yadm - Displays a warning if there are local yadm configuration changes.
- yeoman-zsh-plugin - Edouard Lopez's Yeoman plugin for oh-my-zsh, compatible with yeoman version ≥1.0 (includes options and command auto-completion).
- you-should-use - ZSH plugin that reminds you to use those aliases you defined.
- youtube-dl - Simple plugin for youtube-dl
- zaw - ZSH anything.el-like widget.
- zce - Vim’s EasyMotion / Emacs’s ace-jump-mode for ZSH.
- zconvey - Adds ability to send commands to other Zsh sessions, you can use this to
cd $PWD
on all active Zshells, for example. - zed - A simple wrapper for z to install as ZSH plugin.
- zero - Zero is both a plugin and a theme. See the github page for installation details.
- zgdbm - Adds GDBM as a plugin.
- zgen-compinit-tweak - Make compinit run only once after all loading is done by zgen.
- zhooks - Displays the contents of any ZSH hook arrays and the code of any hook functions that have been defined. Useful for debugging.
- zinfo_line - Makes more information available to ZSH themes.
- zjump - Simplify ZSH directory navigation; jump to already visited, parent or sub folders.
- zredis - Adds Redis database support, with
database_key
<->shell_variable
binding. Supports all data types. - zshmarks - A port of Bashmarks (by Todd Werth), a simple command line bookmarking plugin, for oh-my-zsh.
- zshrc - Load local
.zshrc
files from your project scopes. - zsnapac - Plugin for taking ZFS pre/post upgrade snapshots on Arch Linux.
- zsnapshot - Adds command to dump the current ZSH state into a file, for later restoration by sourcing the snapshot file.
- Ztrace - Catches output of commands, allows to reuse that output, glue it with history content.
- ZUI - ZSH User Interface library – CGI+DHTML-like rapid TUI application development with ZSH.
Even more completions
These plugins add tab completions without adding extra functions or aliases.
- _url-httplink - Extends ZSH's _urls completion, allowing it to complete urls from html pages.
- ansible-server - Completions for viasite-ansible/ansible-server.
- autopkg-zsh-completion - Completions for autopkg.
- aws_manager_plugin - Add completions for the aws_manager CLI.
- berkshelf-zsh-plugin - Adds tab completion for berkshelf.
- better-npm-completion - Better tab completion for
npm
. - bosh-zsh-autocompletion - Adds BOSH autocompletion.
- brew-services - Completion plugin for homebrew services.
- cabal-completion - Add tab completion for cabal.
- cabal - Adds autocompletion for cabal.
- carthage - Provides completions and aliases for use with Carthage.
- cf-zsh-autocomplete-plugin - Adds autocomplete for all Cloud Foundry CLI commands.
- codeception-zsh-plugin - Adds command completion for the Codeception Testing Framework.
- codemachine - Displays git info, whether you're logged in via
ssh
, return code of last command. - ctop - Tab completions for ctop
- dbic - Automatically sets up Environment variables for DBIx::Class::Migration's script and Dancer.
- docker-enter-completion - Command completion for docker-enter.
- docker-zsh-completion - Add completions for docker.
- dropbox - A dropbox plugin for Zsh that provides
dropbox-cli
anddropbox-uploader
commands. - drush_zsh_completion - Drush autocomplete awesomeness for ZSH.
- duell - A ZSH plugin for duell.
- etcdctl-zsh - Adds etcdctl tab completions.
- exercism - A plugin for exercism.io.
- extract - Fork of the oh-my-zsh extract plugin.
- fly-zsh-autocomplete-plugin - Adds autocompletion options for all Concourse CLI commands.
- gcloud-zsh-completion - Add completions for the Google Cloud SDK.
- git-annex-completion - Allows tab completion for most git-annex commands.
- git-flow-completion - ZSH completion support for git-flow.
- gradle-completion (eriwen) - Bash and ZSH completion support for gradle.
- gradle-completion (ninrod) - ZSH completion support for gradle.
- grid5000-zsh-plugin - Grid 5000 plugin - adds theme, autocompletions.
- gulp-autocompletion-zsh - Autocompletion for gulp.
- gulp - Autocompletion for your gulp.js tasks in the Z-Shell (ZSH).
- hashlink - Completions for https://hashlink.haxe.org/.
- haxelib - Completions for haxelib.
- joe-completion - Adds completions for joe gitignore editor.
- jtool-completion - ZSH completions for jtool.
- jumpstorm-completion - Adds autocompletion for jumpstorm
- kafka - Completions for Apache kafka
- keybase - Completions for keybase.
- kompose - Add tab completions for Kompose
- kubeadm - Add tab completions for kubeadm
- mx-honey - Provides completions for mx; a command-line tool used for the development of Graal projects. It's meant to improve the usual workflow
build unittest benchmark ...
ease discovery and provide handy aliases. - newman - Provides autocompletion for the Newman CLI.
- nix-zsh-completions - Completions for nix, NixOS, and NixOps.
- nova - Provides auto-complete for nova.
- npm-run - Autocompletion support for
npm run
. - packer - Adds tab completion for packer.
- pandoc-completion - Pandoc completion plugin.
- parallels-zsh-plugin - Add completions for Parallels desktop.
- pass-zsh-completion - convenience repo to easily obtain pass command completion for ZSH.
- pip-completion - Autocompletion plugin for pip.
- pipenv (AlexGascon) - Enables aliases for the most common pipenv commands.
- pipenv (gangleri) - Completions for
pipenv
. - pipenv (owenstranathan) - automatically activates a pipenv when entering a directory if there is Pipfile in that directory. Includes
pipenv
completions. - racket completion - Completion for Racket.
- rake-completion.zshplugin - Add fast tab completion for rakefile targets.
- rancher-zsh-completion - Add completions for the Rancher CLI.
- razor_plugin - Provides autocomplete for Razor.
- snappy - Add completions for snappy.
- spring-boot-plugin - Adds autocompletions for spring-boot commands.
- ssh-agent - Manage
ssh-agent
. - ssh-agent - Automatically starts
ssh-agent
to set up and load whichever credentials you want forssh
connections. - ssh - Add host completion for
ssh
. - surf - Add completions for surf.
- test-kitchen-zsh-plugin - Add completions for Test Kitchen.
- tmux pane words - Key bindings to complete words from your tmux pane.
- tugboat - Adds autocompletion for tugboat command.
- umake - Tab completion for Ubuntu umake.
- vert.x-omz-plugin - Provides autocomplete features for the vertx command.
- yarn - Yarn autocompletions.
- zsh-completions - A collection of extra completions for ZSH.
- zsh-ipfs - Completions for the Interplanetary File System.
Themes
If you're using Antigen, you can test these themes in a running ZSH with antigen theme githubuser/repo
. If you're using zgen, add them to your init.zsh
with zgen load githubuser/reponame
.
- aaron - Based on the Sorin theme.
- absolute - Very clean looking theme with git status, node version and the exit code from the last command.
- adlee - macOS theme, requires a Powerline-compatible font.
- af-magic-mod - af-magic-mod theme.
- aflah-bhari - Modified version of the robbyrussell theme in oh-my-zsh.
- aftermath - Get a nice summary line after each command you run on your shell.
- agkozak - Uses two asynchronous methods to keep the ZSH prompt swift while displaying color, ASCII-only indicators of Git branch and changes, SSH connection or lack thereof, exit codes, and vi mode status, along with a customizable, abbreviated,
PROMPT_DIRTRIM
-style path. - agnoster-fcamblor - Solarized Agnoster variant with git information. Requires a unicode font and works best with a solarized terminal.
- agnoster-mod - Agnoster variant with a right-prompt.
- agnoster-plus - Agnoster variant optimized for use with Solarized Dark terminal color scheme. Includes git status.
- agnoster-refresh - Agnoster variant, includes battery and online status.
- agnosterAfro - Based on Powerline and Agnoster Theme and inspired by the agnosterzak.
- agnosterzak - Based on Agnoster, shows battery life, date & time, git status, current directory and user & host information.
- alien-minimal - Minimalist ZSH theme with git status displayed.
- alien - Powerline-esque ZSH theme that shows git branch and the exit code of the last command.
- alpharized - Optimized to work with solarized dark terminals. It's a modified version of the avit theme.
- angry fly - Shows git information in the right hand prompt.
- aphrodite - Minimalistic theme without visual noise. Displays only the necessary information: current user, hostname, working directory, git branch if exists. Looks great both with dark and white terminals.
- aplos - Minimal ZSH prompt with working directory,
git
local info,git
remote info, time and exit code. - asciigit - An ASCII-only theme for
git
users who don't want to use fonts with extra glyphs. - asq - Based on theunraveler.
- astral - Theme for dark backgrounds with zen mode.
- astro - Based on
ys
theme androbbyrussell
(default theme) theme. - aterminal - Displays Nodejs, NPM, Docker, Go, Python, Elixir and Ruby information in the prompt.
- avit-d2k - Based on the oh-my-zsh avit theme, with small changes.
- avit-mod - Modified version of oh-my-zsh's avit theme.
- bandit - Another Powerline variant.
- bashi - Optimized for Ahmet Sülek's Flat UI Terminal Theme and Pasquale D'Silva's Saturn Terminal Theme.
- beer - Inspired by cloud, but with beer icons.
- bender - Fancy two-line prompt with git integration.
- bgnoster - Agnoster variant with unicode symbols baked in.
- birame - Based on bira.
- bklyn - Variant of Powerlevel9k with customizations applied.
- blackrain - Another git-aware theme.
- blinks-xfan - Based on the existing theme blinks.
- blokkzh - Theme based on oh-my-zsh's built in gnzh theme. Requires a font with unicode support.
- blox - A minimal and fast ZSH theme that shows you what you need. It consists of blocks: each block is shown inside a pair of [square brackets], and you can add blocks by simply creating a function.
- bluehigh - Minimal theme, displays
git
information. - bluelines - Clear and blue theme.
- boom - Multiline theme, best on dark backgrounds.
- bronze - A cross-shell customizable powerline-like prompt with icons written in go. Requires nerd-fonts.
- brunty - Brunty theme.
- bttf-color - BTTF color theme.
- bullet-train - Inspired by the Powerline Vim plugin. It aims for simplicity, showing information only when it's relevant.
- bunnyruni.min - @jopcode's bunnyruni ZSH theme, modified to just display time and directory.
- bunnyruni - Simple, clean, and beautiful theme.
- bureau - A clear and informative two-lined prompt. Includes git status optimized for large repositories.
- candy-light - Light version of the candy theme.
- charged - A ZSH prompt optimized for the solarized dark terminal theme.
- chi - A ZSH theme optimized for iTerm 2 users on macOS.
- ciacho - Based on Agnoster.
- cinnabar - Shows timestamp, large line breaks, git branch and status.
- clarity - Designed for for simpleness and extensibility.
- classyTouch - Minimal, clean theme with
git
support. - clean (akz92) - Minimalist ZSH theme.
- clean (BrandonRoehl) - A minimalist variant of pure. Pure is not clean, clean is not pure.
- cloudy - Minimal cloudy ZSH theme.
- clover - Inspired by zeta-zsh-theme and pure.
- cmder - A ZSH theme that matches the theme of Cmder, a popular terminal emulator for windows.
- cobalt2 - Wes Bos' Cobalt 2 theme for ZSH and iTerm 2.
- cobalt2git - Cobalt 2 theme with git extensions.
- codemachine - Codemachine theme.
- codemonkey-on-fire - Inspired by bashi, includes a monkey and
git
information in your prompt. - colorbira - Allows per-host prompt coloring, displays
rvm
,virtualenv
andgit
information. - comxtohr - Brightly colored theme optimized for dark backgrounds.
- cordial - Clean and effective ZSH theme with git and npm support.
- cramin - Minimal interface with support for github plugins, based on hyperzsh.
- cute-theme - An macOS oh-my-zsh shell theme with Cute emoji based on the Powerline Vim plugin.
- czsh - ZSH with oh-my-zsh and the agnoster theme in a container.
- darkblood-modular - This version of the popular darkblood theme has been enhanced with a near complete rewrite enabling modularity and a few new features.
- darksoku - Darksoku theme is based on the ys and astro themes.
- delta-prompt - A minimal ZSH prompt.
- delta - Another minimal theme with embedded
git
status. - dexter - A theme with an emphasis on the right side (hence the name) of the terminal.
- dissonance - Comes with custom LSCOLORS and LS_COLORS settings files, works with both dark and light terminal themes.
- diy-ys - Variant of ys without hostname or time.
- dmx - Optimized for dark terminal windows.
- dp - Low contrast theme that shows current git branch, if the repository is dirty and the value of
$PYENV_VERSION
. - dracula - A dark theme for Atom, Alfred, Chrome DevTools, iTerm 2, Sublime Text, Textmate, Terminal.app, Vim, Xcode, and ZSH.
- dragon - Minimalistic, includes
git
status information. - dustmod - Derived from the dst theme in oh-my-zsh.
- eggshausted - A
git
-aware theme for people who are tired of getting errors. - emojeer - Emoji flavored oh-my-zsh theme.
- endless-dog - OMZ theme that mimics grml-zsh-config.
- enormous - Takes up an enormous amount of space in the terminal.
- eubw - A simple theme with
git
information. - excess - Simple ZSH color theme.
- fattyarrow - Minimal ZSH prompt that works better on dark backgrounds.
- feder - Clean, simple, compatible and meaningful. Tested on Linux, Unix and Windows under ANSI colors.
- filthy - A disgustingly clean ZSH prompt.
- fishy-lite - Fork of the original fishy theme in oh-my-zsh with much of the extraneous stuff cut out to improve load speeds. Includes a battery gauge and git display that can be enabled on the right-hand side of the prompt.
- fishy - ZSH theme inspired by original fishy
- fortuity - Includes status of last command,
git
information and current directory. - friendly-fiesta - Fork of terminal-party theme.
- frisk-arrow - A theme based on the frisk oh-my-zsh-theme.
- frisk-red - Red version of the frisk theme from oh-my-zsh.
- frlo - Uses your computer's hostname to come up with a (hopefully) unique three-color theme to display in your prompt, so you know at a glance which machine you're logged into.
- furio - Fork of the Cloud oh-my-zsh theme. with different colors and emojis.
- garrett - Prezto prompt with the information you need the moment you need it.
- gawaine - Nicola Racco's theme. Requires
rvm
&git
plugins. - geometry - A minimal ZSH theme based on Avit and Pure that displays a lot of
git
information and is composable and customizable. - geometryHostInfo Adds host info to the geometry theme.
- girazz - A modification to the gnzh theme which adds
vi
mode to the right prompt. - git-prompt - Displays information about the current git repository. In particular the branch name, difference with remote branch, number of files staged, changed, etc.
- gitsome - Super simple prompt with
git
info, optimized for the Flat Terminal color scheme. - gitster - When in a
git
repo, it shows the location from thegit
repository root folder. When not in agit
repo, it shows the path relative to home,~
. - glimmer - Includes
git
branch, time and user@host. - guri - A Simple and fast Oh-My-Zsh theme, based on Pure's design.
- hackersaurus - A theme with
git
status and exit code of last command run embedded in the prompt. Related to powerlevel9k. - hanpen - Shows
git
branch and status, last command exit code, last command execution time if more thanZSH_THEME_HANPEN_CMD_MAX_EXEC_TIME
- haribo - Simple
git
status + timestamp in prompt. - hcompact - Displays time, OS (including distro if on Linux), directory and whether running as root.
- heart - Heart themed prompt for light backgrounds.
- hedgehog - Simple, no-nonsense and clean, with support for
git
and return codes. - helb - Loosely based on Gentoo's old bash theme. Includes
git
information, return value of last command, and uses different username color and prompt char for users ($
) and root (#
). - hfulldate - Displays time, date, OS (including distro if on Linux), directory and whether running as root.
- hhktony - Inspired by robbyrussell theme + ssh connection status prompt.
- himself - Optimized for people using
git
, solarized terminals and unicode-compatible fonts. - hipstersmoothie-p9x - A variant of powerlevel9k.
- honukai-iterm-zsh - Honukai theme and colors for oh-my-zsh and iTerm 2.
- horizontal - Two line prompt with a horizontal separator.
- hornix - Displays time & date, OS (including distro if on Linux), directory and whether running as root.
- horse-sh - A very minimal brown/red ZSH theme.
- hub - Simple and clean, includes the return code of the last command executed.
- hyperzsh - Gives you a comprehensive overview of the branch you're working on and the status of your repository without cluttering your terminal.
- iamskok - Works well on a dark background.
- iggy - A super happy awesome Powerline-style,
git
-aware prezto only theme. - igorsilva - Shows current directory, customizable delimiter, current branch,
git
status. - imp - Based on zork and optimized for dark backgrounds.
- infernus - Minimalist theme, better on dark backgrounds.
- infoline - Clean theme that shows
git
status, background jobs, remote host, and other information. - intheloop-powerline - An extension of the intheloop theme to use powerline fonts.
- itg - itsthatguy's theme.
- jcl - Loosely based on the ys theme.
- jose - Inspired by beer-theme, includes
git
status. - jovial - Shows host, user, path, development environment,
git
branch, which python venv is active. - judgedim - Minimalist prompt.
- just-another - Just another theme, with hostname when you're sshed to another machine.
- karu - Minimalist single line ZSH prompt.
- keloran - Theme that includes a few features from other themes.
- kenton - Optimized for dark backgrounds, includes
git
status information. - kimwz - Minimal theme.
- kinda-fishy - Based on Fishy theme, but shows full paths instead of abbreviated directories and only shows user@machine in
ssh
sessions and docker containers - kketcham - Theme with nifty colors on the
git
info. - klendathu - Uses Powerline iconsolas.
- kraken - A dark theme for ZSH.
- kumavis - Agnoster fork optimized for solarized terminals. Requires powerline-compatible font.
- kw - Colorful theme with
git
andhg
status information, ability to add host-specific colors to hostname. - lagune - a minimal ZSH theme.
- lambda-gitster - Minimalist prompt that includes
git
information. - lambda-pure - A minimal ZSH theme, based on Pure, with added NodeJS version.
- lambda - A ZSH theme optimized for
git
users who use unicode-compatible fonts and terminal applications. - lambdav - A combination of the Lambda and Fishy themes.
- lazyprodigy - Optimized for dark terminals, has variants for local and remote systems.
- leafia - Leafy prezto theme that shows
git
status information. - lewis - Black, white and red theme. Shows
git
status information. - lila - Minimalist theme, best on a dark terminal background.
- lime - Simple standalone ZSH theme.
- limpide - Modified version of miloshadzic theme which displays parent and current directory.
- linuxer - Inspired by Yaris Alex Gutierrez's classyTouch, Yad Smood's ys, and Bureau theme.
- liquidprompt - A full-featured & carefully designed adaptive prompt for Bash & ZSH.
- llama - Minimalist theme used by discerning llamas.
- lone-star - Texas-themed theme based on Sindre Sorhus' pure theme.
- magico - IOsonoTAN's magico theme.
- materialshell - A material design theme for your shell with a good contrast and color pops at the important parts. Designed to be easy on the eyes.
- mau - A ZSH theme with a cat twist.
- maxulysse/myzsh - Maxime Garcia's myzsh theme.
- megaprompt - A maximalist prompt including keyboard mode, ownership info, and other contextual info, with λ as the prompt character. Requires the hooks plugin.
- milight - Minimal ZSH prompt with
git
status display, works best with dark terminal backgrounds. - min - A minimalistic ZSH prompt.
- mindful-space - ZSH theme with space in mind.
- minimal2 - A minimal and extensible ZSH theme. Forked from subnixr's original and adapted for Zimfw.
- minimal - Minimal yet feature-rich theme.
- minimalx - Inspired by kolo theme from oh-my-zsh.
- misa - Misalabs' ZSH theme.
- mixed - Optimized for dark backgrounds.
- molokai-powerline-zsh - Based on agnoster.
- moonline - Minimal but easily extensible prompt.
- multi-shell-repo-prompt - Provides useful information (in your prompt) about the repository that you are in. It currently works for Git and Mercurial, under ZSH as well as bash.
- multiline - Powerline-esque theme based on agnoster
- muslim - A simple minimal ZSH prompt theme.
- nanofish - Adds fish-style directory prompt to nanotech theme.
- neat - Minimalistic prompt inspired by odin and pure.
- nerdish - A prompt theme for ZSH with Nerd Fonts.
- newt - Fat & fast theme – beautiful inside and out, styled segments done right.
- nextbike - A very basic theme which just features an macOS bike icon.
- ningxia - Based on af-magic.
- nknu - A simple OMZ theme.
- nmaxcom - Minimalist ZSH theme with
git
status decorations. - node - OMZ's node theme, broken out to make it easier to use with other plugin managers.
- nodeys - Based on ys theme, with added NodeJS version (from NVM plugin).
- noon - Has light and dark variants, shows
git
information. - nothing - Lightning fast and really simple because it has almost nothing in it.
- nox - Dark theme, displays the current working directory and git status.
- nt9 - Clean, distraction free and
git
focused development theme. Shows path relative togit
root (or ~ when outsidegit
repo), time since last commit, current SHA, branch and branch state. - nuqlezsh - Simple theme for prezto and oh-my-zsh.
- odin - Odin is a
git
-flavored ZSH theme. - oh-my-git - An opinionated prompt for bash and ZSH.
- oh-my-via - Theme for ZSH which mainly forks the historical theme used on VIA servers.
- oxide - A Minimalistic and Dark ZSH theme.
- ozono 🌏 OZ0NO - Let's Breathe a clean ZSH.
- pad - A concise and colorful oh-my-zsh theme.
- page - A simple theme with VCS support. The prompt shows 1 level of the current working directory, branch, and a color coded curved fat arrow.
- pastel - A ZSH theme inspired by sugar-free.
- phi φ - A clean and simple theme for ZSH inspired and forked from Lambda (Mod) ZSH Theme.
- pieni - Minimalist single line ZSH prompt theme.
- plain - A plain and simple theme for ZSH which shows basic
git
information. - planet - A slimmed down version of steef from oh-my-zsh.
- platypus - Platypus is a simple and convenient theme for oh-my-zsh used by Frédéric de Villamil.
- poncho - RDM's basic oh-my-zsh custom theme.
- poor-programmer - Programmer's theme with
git
status, ruby version and project path. - powerless - Tiny & simple pure ZSH prompt inspired by powerline.
- powerlevel9k - Powerlevel9k is a theme for ZSH which uses Powerline Fonts. It can be used with vanilla ZSH or ZSH frameworks such as Oh-My-Zsh, Prezto, Antigen, and many others.
- powerlevelHipstersmoothie - Add-on for powerlevel9k.
- powerline (jeremy) - Another take on a powerline theme. Nicely configurable, but requires at least a 256 color-capable terminal with a powerline-compatible terminal font.
- powerline (syui) - A git aware powerline theme.
- powerline-cute - Based on bullet-train.
- powerline-go - A beautiful and useful low-latency prompt, written in golang.
- powerline-pills - Created in Ruby, uses powerline characters to simulate pills with useful information.
- powerline-shell (b-ryan) - Beautiful and useful prompt generator for Bash, ZSH, Fish, and tcsh.
- powerline-shell (banga) - A powerline-like prompt for Bash, ZSH and Fish. Shows important details about git/svn/hg/fossil branch and is easy to customize/extend.
- powerline-train - A powerline variant.
- powerzeesh - A Powerline based ZSH theme. It aims for simplicity, showing information only when it's relevant, optimized for speed and look. Inspired by Agnoster and Powerline.
- pre - A collection of themes for Sublime Text, Terminal, iTerm 2 and ZSH.
- predawn-shell - Theme for dark terminal themes.
- prezto-cloud-prompt - Prezto port of oh-my-zsh's cloud prompt.
- prezto-lambda - Lambda theme (for prezto).
- prezto_powerline - Powerline for prezto. Shows git information, RVM version.
- prompt-powerline - A fairly heavyweight ZSH prompt, based on the powerline font from the popular eponymous vim plugin, which works well for a dark background.
- punctual - Easily customizable, influenced by spaceship.
- pure - Pretty, minimal and fast ZSH prompt.
- purify - Simple, fast & cool prompt.
- purity - Inspired by robbyrussell theme + pure prompt.
- qoomon - Optimized for dark backgrounds, includes
git
information. Theme repo includes iTerm 2 and Terminal color settings. - racotecnic - Based on af-magic and posh-git.
- radium - Designed for dark terminals, (works best with Solarized iTerm 2 theme) (prezto).
- rafiki - Adds emojis to your ZSH terminal.
- random-emoji-robbyrussell - Based on random-emoji and
robbyrussell
theme themes. - random-emoji - Random emoji.
- remiii - Based on agnoster, optimized for solarized terminal themes.
- remolueoend - Prezto ZSH theme based on Sorin, using emojis for tracking GIT context.
- river - Dark theme with
git
information. - robbyolivier - Based on ideas from the the robbyrussell theme and the project zsh-git-prompt.
- robbyrussell-WIP - Decorates the
robbyrussell
theme with output to indicate a WIP commit. - rougarou - A dark theme.
- rufus - Optimized for dark backgrounds.
- rummik - @rummik's theme.
- rzh - Theme with git states indicated by emojis.
- saraiva - Includes git status, works well on a dark terminal background.
- schminitz - Shows if Vim is running in the background when using
:sh
command. - seeker - This theme uses many special unicode characters to be fancy, but it may cause some problems without well supported fonts.
- seltzer - Inspired by dieter theme, uses color-coding to provide information.
- senpai - Clean prompt theme for Devops. Includes git information, kubernetes context, AWS profile, GCP project and Azure active cloud.
- sepshell - Clean and minimal ZSH theme based on the old lost taybalt theme, with
git
bisecting/merging/rebasing modes and configurable prompt symbols. - Seti_UX - A simple omz-compatible theme with a corresponding iTerm 2 color scheme.
- sfz - An evolution of lean prompt which itself is a rewrite of pure.
- shayan - Simple.
- shellder - Minimal theme with git branch display. Requires a powerline font.
- simplezsh - Minimal theme with git info display.
- sinon - k-kinzal's sinon theme.
- sk9 - Skeiter9's ZSH theme.
- skeletor-syntax - Theme collection for Atom, Prism and ZSH inspired by Skeletor from He-Man and the Masters of the Universe.
- sleeplessmind - ZSH theme inspired by gitster and odin.
- slimline - Minimal, fast and elegant ZSH prompt. Displays the right information at the right time.
- smiley - A prompt with happy and sad faces.
- sobole - A minimalistic ZSH theme inspired by the old-fashioned hobbies. No verbose gimmicks, no emoji, no fidget spinners, and no other visual noise.
- solarized-powerline - Solarized powerline-style theme for ZSH.
- solarizsh - Color fix for robbyrussell's oh-my-zsh theme to work with solarized terminals.
- spaceship - A ZSH theme with
git
,nvm
, rvm/rbenv/chruby, python,ssh
and other useful indicators. - spowerline - Written in scala, inspired by agnoster, tmux powerline, vim powerline and the vim status plugin.
- staples - Based on bureau, displays user@host if connected through SSH.
- starboy - A simple ZSH theme
- statusline - A responsive ZSH theme that provides informational segments when you need them.
- steef - ZSH steeef theme as a standalone repository. The purpose behind this repo is avoid having a dependency on oh-my-zsh when using the steeef theme. ZSH plugin managers such as Antibody can use the theme without having to use oh-my-zsh.
- sugar-free - Based on the Pure and Candy themes.
- tabaf - Minimal ZSH theme optimized for dark backgrounds.
- tahuri - ZSH theme for Arch Linux.
- termuxer - Theme inspired by agnoster and linuxer.
- the-time-lord - A theme based on gallifrey.
- theme-line - Colorful theme with
git
status. - theraveler - Based on theunraveler.
- topan - Includes
git
information; best on dark backgrounds. - tq - Displays
git
status, time, requires a Powerline font. - traffic - A dark theme for ZSH.
- trajan - A dark theme for ZSH.
- trinity - A simple theme based on geometry.
- tvline - Derived from agnoster's theme, adds powerline font enhancements.
- ultimate - Minimalist theme with
git
indicator, vim mode indicator and shortened path. - vanan - Minimalist theme with
git
information for dark terminals. - vinhnx - Modified from themes/mgutz.zsh-theme.Looks great when using with a Solarized color scheme.
- vira - An update of the bira theme that shows the
vim
bindkey -v status. - wade - Mashup of the popular ZSH themes Agnoster and Fishy, with some visual tweaks.
- wang-iterm-zsh - Based on the 0532 theme.
- webicons - Includes
git
status, node and yarn versions in prompt. - wild-cherry - A fairy-tale inspired theme for ZSH, iTerm 2, Sublime, Atom, & Mou.
- work-line - Theme with nice emojis.
- wynwyn - A theme that aims to show you the information you need when you need it.
wynwyn
takes inspiration from the default themeavit
and the excellent Spaceship prompt. - xremix - An oh-my-zsh shell theme based on the Jreese theme plugin.
- xxf - Shows the current git commit's shortened hash and message.
- yairshefi - Minimal theme with line separated prompts. Based on Robby Russell's theme
- ykmam - Modified from ys theme and optimized for a dark background.
- ys-cluster - ys variant with support for working with batch submission systems for large clusters. Supports Slurm, LSF / IBM Spectrum LSF, and PBS.
- ys - Clean, simple, compatible and meaningful theme meant for dark backgrounds.
- ysm - Simple ZSH theme with
git
status information. - yuki - A dark optimized ZSH theme.
- z4rr3t - Based on sindresorhus' pure theme.
- zemm-blinks - Customized version of oh-my-zsh blinks with mercurial support and other changes.
- zero - Zero's theme & plugin. Has variants for both light and dark terminal backgrounds.
- zeta - Shows username,
git
status information, machine name and the current working directory. - zqt - Modified version of oh-my-zsh's maran theme.
- zsh2000 - Powerline looking ZSH theme which includes the
rvm
prompt,git
status and branch, current time, user, hostname, pwd, exit status, whether running as root and background job status. - zshcomrade - A ZSH theme, comrade!
- zwsh - A Zpm3/Wordstar mode/theme for ZSH.
- zys - Similar to agnoster-zsh-theme, designed to disclose information contextually, with a powerline aesthetic.
Fonts
Some of the themes listed here require Powerline-compatible fonts, here are a few:
- Awesome Terminal Fonts - A family of fonts that includes some nice monospaced Icons.
- Fantasque Awesome Font - A nice monospaced font, patched with Font-Awesome, Octoicons and Powerline-Glyphs.
- Fantasque-sans - Another powerline font.
- Hack - Another Powerline-compatible font designed specifically for source code.
- Input Mono - A family of fonts designed specifically for code. It offers both monospaced and proportional fonts and includes powerline glyphs.
- Monoid - Monoid is customizable and optimized for coding with bitmap-like sharpness at 15px line-height even on low res displays.
- nerd fonts - Collection of over 20 patched fonts (over 2,000 variations) & FontForge font patcher python script for Powerline, Font Awesome, Octicons, Devicons, and Vim Devicons. Includes: Droid Sans, Meslo, Source Code, AnonymousPro, Hack, ProFont, Inconsolata, and many more.
- Powerline patched font collection - A collection of a dozen or so fonts patched to include powerline gylphs.
- Terminus - TTF version of Terminus that includes powerline glyphs.
- Iosevka - Coders’ typeface, built from code. Highly customizable.
Installation
Antigen / Antibody
Most of these plugins can be installed by adding antigen bundle githubuser/reponame
to your .zshrc file. Antigen will handle cloning the plugin for you automatically the next time you start zsh
. You can also add the plugin to a running ZSH with antigen bundle githubuser/reponame
for testing before adding it to your .zshrc
.
Antibody works the same, for example, antibody bundle githubuser/reponame
.
dotzsh
- Clone new plugins into
.zsh.local/modules
- Load the plugin module in
.zshrc
- Open a new ZSH terminal window or tab
Oh-My-Zsh
cd ~/.oh-my-zsh/custom/plugins
git clone repo
- Add the repo to your plugin list
Prezto
- Clone the plugin into your prezto modules directory
- Add the plugin to your
.zpreztorc
file - Open a new terminal window or tab
Zgen
Most of these plugins can be installed by adding zgen load githubuser/reponame
to your .zshrc file in the same function you're doing your other zgen load
calls in. Zgen will automatically clone the repositories for you when you do a zgen save
.
zplug
Most of these plugins can be installed by adding zplug "githubuser/reponame"
to your .zshrc
file.
Writing New Plugins
I've documented some recommendations for writing a new plugin here.
Other Resources
ZSH Tools
Other Useful Lists
- awesome-devenv - A curated list of awesome tools, resources and workflow tips making an awesome development environment
- awesome-sysadmin - A curated list of awesome open source sysadmin resources
- Terminals Are Sexy - A curated list for CLI lovers.
Find other useful awesome-* lists at the awesome collection
Other References
The ZSH Reference Card and zsh-lovers site are indispensable.