A collection of ZSH frameworks, plugins, themes and tutorials.
A collection of ZSH frameworks, plugins, tutorials & themes inspired by the various awesome list collections out there.
Please read the Contributing Guidelines before contributing.
These frameworks make customizing your ZSH setup easier.
You can find some interesting performance timing comparisons of various frameworks in the following locations.
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 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 and fzf-marks. Fully customizable.
Ant-zsh is a tiny and lightweight ZSH configuration environment for special customization needs. It includes plugins, themes and a basic convenient setup.
Antibody is a faster and simpler antigen written in Golang. More details at http://getantibody.github.io/.
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 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 is a modular configuration system for ZSH. It provides sane defaults and is extendable by plugins.
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 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.
miniplug is a minimalistic plugin manager for ZSH.
mzpm is a minimalist plugin manager for 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.
PMS allows you to manage your shell in a way to that helps decrease setup time and increases your productivity. It has support for themes (change the way your shell looks), plugins (adds functionality to your shell), and dotfile management.
The PMS framework also allows you to use the same framework in different shells. Use ZSH on your personal laptop, and use bash on remote servers. Wanna try fish? Go ahead, try out different shells.
Prezto enriches the ZSH command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes. There are some prezto-specific plugins at https://github.com/belak/prezto-contrib.
Pumice is a lightweight plugin manager for ZSH.
A plugin manager for ZSH doesn't have to be complicated to be powerful. PZ doesn't try to be clever when it can be smart. PZ is a full featured, fast, and easy to understand plugin manager encapsulated in a single file with about 200 lines of clean ZSH.
PZ does just enough to manage your Zsh plugins really well, and then gets out of your way. And it's unit tested too to make sure it works as expected!
A fast, configurable, shell plugin manager.
Toasty is a ZSH framework made to facilitate management, not dictate it.
The tiniest ZSH plugin manager. Still under development.
A ZSH micro plugin manager.
Yazt is a simple zsh theme manager in maintence that is compatible with nearly everything. You can use prompts in plugins, mix 'n' match two themes, with a few modifications, you can even use it in bash.
zapack is a basic fast minimal ZSH plugin loader.
zcomet is a minimalistic ZSH plugin manager that gets you to the prompt surprisingly quickly without caching (see the benchmarks). In addition to loading and updating plugins stored in Git repositories, it supports lazy-loading plugins (further reducing startup time) as well as downloading and sourcing code snippets.
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 is a plugin manager for ZSH that supports loading and updating plugins and themes from git, http and local files.
Zgen is a lightweight plugin manager for ZSH inspired by Antigen. The goal is to have minimal overhead when starting up the shell because nobody likes waiting. It is currently not being actively maintained and I recommend you use the zgenom fork instead, which is.
A lightweight plugin manager for ZSH that is a fork that extends the brilliant zgen and provides more features and bugfixes while being fully backwards compatible.
To keep loading fast during new terminal sessions,
zgenomgenerates a static
init.zshfile which does nothing but source your plugins and append them to your
This minimizes startup time by not having to execute time consuming logic (plugin checking, updates, etc) during startup. The downside is that you have to refresh the init script manually with
zgenom resetwhenever you update your plugin list in your
gitclone plugins for you when you add them to your plugin list.
zilsh is a ZSH config system that aims to appeal more to power-users and follow the simplistic approach of vim-pathogen.
Zim is a ZSH configuration framework with blazing speed and modular extensions.
Zinit is an innovative and probably (because of the Turbo) the fastest plugin manager with support for:
bindkeycapturing and remapping,
$fpathis not being used to add completions and autoload functions, hence it stays concise, not bloated),
Bonus: you can use zinit-console to view and change the state of the ZSH session (e.g.: list and unload plugins) and to delete the plugins and snippets from the disk.
The project is very active – currently > 3100 commits.
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.
:zap:Znap is a light-weight plugin manager & Git repo manager for ZSH that's easy to grok. While tailored for ZSH plugins specifically, Znap also functions as a general-pupose utility for managing Git repos.
bashinit- you no longer need them in your
.zshrc, znap will do them automatically as needed.
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 is a lightweight ZSH plugin & theme management framework.
The minuscule ZSH package manager. No frills, no bloat, just 2 kB of 100% ZSH code, providing complete package management for your ZSH environment.
:hibiscus: Zplug is a next-generation ZSH plugin manager.
zpm ( ZSH Plugin Manager ) is a plugin manager for ZSH who combines the imperative and declarative approach. At first run, zpm will do complex logic and generate cache, after that will be used cache only, so it makes this framework to be very fast.
zr is a quick, simple ZSH plugin manager written in Rust and easily installable with
cargo install zr.
zshing is a ZSH plugin manager similar to Vundle/Vim and allows you to...
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.
ztheme is a small and fast theme engine for ZSH.
A simple and fast ZSH plugin manager. It uses zcompile and async loading to speed up your shell startup time.
Zulu is a environment manager for ZSH 5+, which aims to make it easy to manage your shell without writing any code.
$cdpathwith simple commands.
This section is for full setup dropins - they aren't frameworks, but they're not simple plugins/themes either.
ZPWR - An extremely powerful custom terminal environment built on top of Zinit for maximum speed. A full terminal configuration framework including zsh, tmux, fzf, vim and spacemacs configurations. It includes:
11.5k+ tab completions
330+ git aliases
350+ zpwr subcommands
150+ zpwr environment variables
170+ perl, python, bash, zsh scripts
2.8k line README.md
1 line install
.zshrcfiles) holding Zinit invocations.
superconsole - Windows-only.
zshand necessary software preinstalled, uses zsh-grml-config
gitand git lfs support for MSYS2 environment is configured,
gitclient already installed.
gitworks out-of-box, add your keys to
nanoas main editor, enables
gitstatus decorations, network and battery status.
TERMenvironment variable and sees if there is respective ncurses' terminfo with 256 colors available. The result is a multicolor terminal, if available.
theme_title_use_abbreviated_pathparameter from some oh-my-fish themes.
vim's abbreviation expansion.
downcommands when it detects a
Vagrantfilein the current directory (e.g. your application). Just run
upand get coding!
artisanplugin for ZSH to help you to run
artisanfrom anywhere in the project tree, with tab completion!
color-lsif available on
lswhen cding to a new directory.
cdinto a directory containing a
.envfile, it will automatically be executed when you
cdcommand that learns - easily navigate directories from the command line. Install autojump-zsh for best results.
awscommand. Includes mfa and assume-role helpers.
bashdoes. It also enables
vi-mode for French bépo keyboard.
brew linkdifferent versions of packages.
rmthat adds trash/recycling and useful warnings.
toupperto switch output case.
gitrepository root directory.
cd-ing into specified directories.
cdto the current repository checkout's root directory.
sshto a server when you accidentally
Thumbs.dbfiles from cluttering your directories.
git merge-base target_branch base_branchand
red foojust works.
REPORTTIMEbuiltin, but only outputs when user + system time >=
diff-so-fancyproject into your user account.
.dircwhen present in a directory you
cdinto a directory.
sshlogin to the instances easily.
cdcommand by memorizing all directories visited by a user and use it for the pathname resolution.
.envrcfile is found in a directory.
zsh-users/zsh-syntax-highlighting– better response times, switchable highlight themes.
firebase.jsonfile (aka "firebase project").
flowcommand available inside every subdirectory of the TYPO3 Flow distribution.
gitwhich takes advantage of fuzzy finder fzf.
zwith fzf's fuzzy search!
Ctrl+Rwith an fzf-driven history search that includes date/times.
zsh, using the fuzzy finder fzf.
dateunix command) in your prompt.
gitbranches you can switch to without having to type long branch names.
gitcompletion to include in the remotes completion (e.g. from
git clone) any URL in the clipboard.
githelper scripts packaged as a plugin.
gitthat relies heavily on
.gitignorefiles from gitignore.io offline.
fzf, completion, preview integrated.
gitcommands to make some common
gitusages more efficient.
gitrepositories and clean them up.
git clonea repository and
cdinto the resulting directory.
gitworking directory after cloning it.
gitstatus in your prompt.
$GOPATHsimilarly to Python's virtualenvwrapper.
gitrepository. This is a command-line shell plugin for undoing
gvm(Groovy enVironment Manager).
.envrcif it's found when changing to a new directory.
^Gto quickly toggle the current shell history file location.
dialogto open a popup menu with the history, so the user can interactively navigate through it and pick the history line to bring back to the prompt.
zsh-syntax-highlighting, or they'll both break. You'll also need to bind keys to its functions, details are in the README.md.
/etc/hostsfiles during development.
hubci-status to your ZSH theme.
gitcommands using fzf.
setjdkcommand so you can switch easily between different versions of the jdk.
kubectlthat adds current context and namespace.
kubectl get events -w
gitplugin for Oh-My-Zsh-compatible frameworks.
luxcommand. Highly customizable: included items can be configured by defining variables. Highly extensible: items can be added by defining functions. Includes
macos_is_darkhelper function to determine if the macOS dark mode is active for use in theming.
m2function to run magento binary, adds tab completions.
kill, directory bookmarks browser, multi-word incremental history searcher and more.
.nvmrc. Requires n.
nvmto install new versions and modules for the current project.
nvmcompletions and autoloading of
nodenvand its completions into the shell.
nodenv. Inspired by zsh-rbenv.
nohupto the current command pressing
npmaliases & command completion. Based on the Oh-My-Zsh npm plugin.
npmaliases. Based on the Oh-My-Zsh npm plugin.
fzffor using npm scripts interactively. Requires fzf and jq.
nvm useautomatically whenever you enter a directory that contains an
.nvmrcfile with a string telling
nvmwhich node to use.
nvm useas much as possible, especially if you often switch between versions of node.js and use
.nvmrcfiles in your project to manage what version of node your project needs.
nvmfor more than one binary/entrypoint, with the defaults being
~/optsubpaths to your
P10K_PROMPTvariable in your
$PATHquickly and easily. Doesn't touch your existing
.zprofile, but adds on top of your existing environment instead.
gitstatus in your prompt.
/sys/class/net/$interface/to keep track of packet transmission rates. It stores the current rate to a file in the RAM backed filesystem where it can be easily accessed for display in a shell-prompt. Linux-only due to use of
gitstatus information that can be displayed in prompts.
eval "$(pyenv init -)"is executed the first time
pyenv, and adds extra functionality.
vim-like macro registers to your ZSH shell.
randeme_rmto never show that theme again.
redis-serverpointing it to the
redis.confconfiguration file. This can be used with the zdharma/zredis plugin to share variables between shells.
kubectlby warning what context you're in after a definable number of seconds since the last
rmwill put files in your OS's trash instead of permanently deleting them.
.zshrc& shell startup with lazy-loading by only running setup commands (e.g.
eval "$(rbenv init -)", etc) when you need them.
chrootname in your prompt.
git commit, and
git pushfor much faster
gitaliases and helper shell functions.
$PATHline by line.
git statusafter chpwd.
known_hostsfile when you
sshinto a server.
sudoplugin from oh-my-zsh, extracted to a standalone. Toggles
sudobefore the current/previous command by pressing ESC-ESC in emacs-mode or vi-command mode.
gitrepositories. Just type
sgr, press enter and you're there.
tailffunction with prefixed newlines instead of trailing newlines.
set-term-titlefunction you can use to title terminal windows.
terraform, along with completions for
vim(or NeoVim) session, from an adjacent tmux pane.
tmux, ZSH, and Vim/NVIM, modular.
toggl-weekcommand to display the total working hours tracked on toggl.com
gitstatus decorations and color-coded exit status of the last command run. Better with dark terminal themes.
cdmultiple levels up.
vagrantcommands from outside of the box directory. The plugin also ships with a few extra commands that help to manage more than one box, along with custom tab-completion.
vcshfor auto-installation in
venvmodule, (creation) only works for python >= 3.3.
vim-like increment/decrement operations.
vi-like functionality to ZSH.
vimode plugin for easily swapping text between two places in the buffer, like vim-exchange.
vi-mode bindings, adding basic Emacs keys, incremental search, mode indicators and more.
vim filename:123to open a file with the cursor at a specific line.
vimplugin manuals (help) like
vimode (bindkey -v) plugin.
CTRL + W.
cd. Why? Because
cdseems inefficient when the folder is frequently visited or has a long path.
.wdnoteif present upon changing directories.
~/.zshrcto a remote host and sources it with xxh-shell-zsh.
pipenvdetects the presence of one.
ytaliases to download videos from YouTube.
$PATH, installs Ruby gems and Node modules and easily exposes their binaries, and updates the gems and modules when the associated plugin or snippet is updated.
make test, for example) – if it finds any of them – after installing and updating a plugin or snippet.
zabbis a command that tries to figure out the shortest memorable abbreviation of a directory that is usable by z to unambiguously jump to that directory.
$LS_COLORSto generate a coherent theme for Git and your Zsh prompt, completions and ZSH syntax highlighting.
cd $PWDon all active Z shell sessions, for example.
cdthat learns your habits.
shell_variablebinding. Supports all data types.
.zshrcfiles from your project scopes.
These plugins add tab completions without adding extra functions or aliases.
awsclito manage AWS profiles/regions and display them in the prompt.
bashcompletions for commands when no native ZSH one is available.
ssh, return code of last command.
cpan install wordand
cpanm installto complete remote CPAN package names.
dockerZSH tab completions directly from Docker for Mac.
fzf-powered autocompletion for
build unittest benchmark ...ease discovery and provide handy aliases.
ssh-agentto set up and load whichever credentials you want for
argparseand it will write a ZSH completion to your current directory.
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
zgen load githubuser/reponame.
gitstatus, and the exit code of last command. Works well on dark backgrounds by default but colors can be easily customized.
gitstatus decorations, name of your AWS profile, name of your Azure Service Principal, kubernetes context, terraform workspace, command status and current working directory.
gitstatus and indicators of SSH connection, exit codes, and
vimode, along with an abbreviated,
PROMPT_DIRTRIM-style path. Very customizable. Asynchronous even on Cygwin and MSYS2.
gitstatus information. Requires a unicode font and works best with a solarized terminal.
gitstatus decorations. Works better with a unicode font.
gitor other VCS tools, and unicode-compatible fonts. Includes status of last command run, [email protected],
gitstatus decorations, working directory, whether running as root, whether background jobs are running, and other information.
mercurialstatus, current time and time the last command took decorations in the prompt.
gitdecorations, [email protected], working directory, the previous command's exit status and whether you are running with root privileges. Requires a Powerline-compatible font.
gitstatus, current directory and user & host information.
gitdecorations and the exit code of the last command. Faster than many other prompts because it determines the
gitdecorations asynchronously in a background process.
gitinformation in the right hand prompt.
gitbranch and status decorations, virtualenv, exit status, jobs count, and vi-mode indicator.
gitdecorations, user, host, whether root, active Python virtual environment, current Ruby interpreter, visual and numeric status of the last command, power management status and time and date.
gitbranch if one exists. Looks great both with dark and white terminals.
gitremote info, time and exit code.
gitusers who don't want to use fonts with extra glyphs.
ysand robbyrussell themes.
gitstate, return value of last command if it had an error code, number of background jobs, execution time of long-running commands, current python virtualenv.
gitstatus decorations and current directory.
gitstatus decorations and 3x hour reminders to drink water.
gitstatus information, background job count, working directory, user and hostname, Python virtualenv when present, colored return value of last command and root/user sigil.
gitstatus decoration and a smiley/sad face indicator of the last command's exit status.
gitand ruby version decorations.
gitdecorations in the prompt.
gitstatus decorations, Kubernetes cluster information (if any), current AWS profile and region, and active virtualenv.
gitdecorations. Requires powerline-compatible terminal font.
git, Ruby, node and Python version status decorations. Works with standard fonts.
git, nix-shell and virtualenv status decorations.
gitinformation in your prompt.
--NORMAL--, in a powerline look.
gitstatus decorations, cwd, time, host, exit status of last command. Does not require special fonts.
gitbranch and status.
vi-mode status decorations.
gitand last command exit status decorations. Requires a nerdfont to render properly.
gitdecorations. Requires nerdfonts.
git. Works best with a unicode font.
gitstatus decorations, username and hostname abbreviations, virtual environment, current working directory, return status of last command and the time.
gitstatus decorations and a clock.
git-aware theme for people who are tired of getting errors.
gitstatus decorations. Requires powerline-compatible font.
git-aware theme based on gitster. Requires a Powerline-compatible font.
gitprompt symbols replaced with emoji for better clarity.
gitbranch and status.
vi-mode indicator, current directory and current path.
gitstatus decorations, inspired by bureau.
gitstatus display that can be enabled on the right-hand side of the prompt.
gitstatus, kubernetes cluster and namespace, path and ssh connection status.
gitinformation and current directory.
fish-shelldefault prompt. Includes
gitdecorations, IP address, host and path.
gitstatus decorations, history number, username/hostname context, directory status, status of last command if it failed, and the Python virtualenv name if present.
gitintegration. Inspired by the gitsome theme.
vimode to the right prompt.
gitrepository. In particular the branch name, difference with remote branch, number of files staged or changed, etc.
gitinfo, optimized for the Flat Terminal color scheme.
gitrepo, it shows the location from the
gitrepository root folder. When not in a
gitrepo, it shows the path relative to home,
gitbranch, time and [email protected]
gitstatus, hostname, directory and last command exit status decorations.
gitdecorations, [email protected], path and date.
gitdecorations and the return status of the last command.
gitstatus decorations, user id and working directory.
gitstatus and exit code of last command run embedded in the prompt. Related to powerlevel9k.
gitbranch and status, last command exit code, last command execution time if more than
gitstatus decorations and current user/host information.
gitstatus + timestamp in prompt.
gitand return codes.
gitstatus decorations and
gitinformation, return value of last command, and uses different username color and prompt char for users (
$) and root (
gitstatus decoration and kubernetes context.
gitstatus decorations and works with standard fonts.
gitstatus decorations left aligned with the working directory in bold.
gitstatus decorations, and whether running as root.
git-aware prezto only theme.
gitstatus, background jobs, remote host, and other information.
gitstatus decorations. Includes an optional iterm2 color scheme.
gitbranch information including the branch name and a red + if the branch has un-pushed changes.
gitand python virtualenv status decorations, user, pwd,time and system name.
gitbranch, which python venv is active.
rvmand network awareness. Requires Powerline-compatible terminal font.
gitstatus deorations, works well on darker backgrounds.
robbyrussellthemes. Includes decorators for the exit code of the last command run, python virtualenv and VCS status.
sshsessions and docker containers.
gitstatus, last command exit status, [email protected], working directory and whether the user is running as root.
kubectlcontext. Has time, directory, and
hgstatus information, ability to add host-specific colors to hostname.
gitusers who use unicode-compatible fonts and terminal applications.
gitinformation. Requires Nerd Fonts and the gitstatus plugin.
gitstatus and virtualenv information.
gitstatus decorations, works best with a dark terminal theme.
gitstatus and background job decorations.
gitstatus and ruby version decorations.
¬character, to better distinguish the command line prompt from your output.
gitinformation, github/gitlab logo and shows changes as and when they occur.
git, [email protected], last command exit status, current directory, current time and root status decorators.
gitdecorations. Shows remote status and indicator for vi-mode.
gitstatus, works with standard fonts.
gitdecorations, requires a powerline-compatible terminal font.
gitdecorations. Based on the frisk oh-my-zsh theme.
gitstatus and the status of the last command run.
venv, exit status of last command, shortened working directory,
gitstatus, AWS vault role, background jobs, exit code of last command & hostname.
gitstatus decorations. Based on the kphoen and smt themes.
gitdecorations, changes prompt color if root user, active jobs, and jenv integration.
gitstatus decorations, shows exit code of last command if nonzero.
/sys/class/power_supplyfolders to determine if the system is installed on a laptop or desktop machine. Reads the battery percentage grepping acpi command and displays it in the prompt. Includes
gitstatus display, works best with dark terminal backgrounds.
pythonand other indicators. Uses unicode characters for some markers.
gitand vpn status decorations.
gitdecorations in the right-side prompt.
gitstatus decorations. Works best with Deepin Terminal.
gitstatus decorations displayed neatly right aligned.
gitstatus, username, and working directory.
gitstatus and directory decorations. Based on omz's half-life theme.
gitdecorations. Based on robbyrussell.
git, username, execution time, directory, background jobs and edit mode decorations.
gitstatus and external IP address decorations.
gitstatus decorations and displays the active conda environment.
gitfocused development theme. Shows path relative to
gitroot (or ~ when outside
gitrepo), time since last commit, current SHA, branch and branch state.
gitstatus decorations and time.
bash-inspired theme based on gitster and basher. Includes status decorations to show if user is root, the exit status of last command run,
gitbranch and its clean/dirty status.
git-flavored ZSH theme.
gitstatus, time, absolute pwd, RAM usage, time used by last command, and last command exit status.
gitstatus and virtualenv information.
gitstatus information with icons in the prompt.
rootstatus decorations. Best on a dark background.
gitstatus decorations, command run time in milliseconds. Requires coreutils on macOS.
gitdecorations. Works with both light and dark backgrounds.
gitstatus, ruby version and project path.
gitaware powerline theme.
hgstatus decorations, exit status of the last command run, current Python virtualenv, whether you're in a nix shell, and is easy to extend.
hgdecorations, Python virtualenv information, and last command exit status.
gitstatus information and the exit code of the last command run.
vimplugin, which works well for a dark background.
gitstatus, truncated directory,
gitdecorations and works well with both dark and light terminal backgrounds.
gitstatus decorations, prompt turns red if last command failed, username and host decorations when in a remote session or container, and current folder and command when a process is running.
git, load average and exit code of last command decorators.
gitinformation. Theme repo includes iTerm 2 and Terminal color settings.
git/hgstatus, time, kubernetes context and namespace, non-zero exit code of last command and date decorations. Requires Powerline font.
gitstatus decorations, includes desk support.
git, python, time, current host and path decorations.
gitand solarized terminals. Requires a Powerline-compatible font.
gitstatus, time, user.
robbyrusselltheme with output to indicate a WIP commit.
gitdecorations. Requires nerd fonts and a unicode-capable terminal application.
gitstatus decorations, best on a darker background.
gitdecorations. Requires unicode capable terminal.
gitstatus information in the prompt.
gitdecorations and the current directory.
git, kubernetes and python virtualenv decorations.
gitstatus decorations, works well on a dark terminal background.
gitstatus decorations, [email protected] information, the exit status of last command, and whether running as root.
vimis running in the background when using
gitstatus information, the kubernetes context, AWS profile, GCP project and Azure active cloud.
gitbisecting/merging/rebasing modes and configurable prompt symbols.
gitstatus, directory, host name, username and time decorations.
gitstatus decorations in right prompt.
gitstatus information in iTerm's window title bar instead of using space in the prompt.
usernameand execution status decorations.
git, command exit status and path decorations.
gitproject, the directory display is scoped to the current repository root.
nvm, rvm/rbenv/chruby, python,
sshand other useful status indicators.
gitstatus decorations. Works better on dark terminal backgrounds.
gitstatus decorations and an accompanying iTerm2 color scheme.
gitstatus decorations and conda/virtualenv status.
hgstatus decorations. Also has java, python, ruby, node, go and elixir version information.
vi-mode status and
gitinformation; best on dark backgrounds.
gitstatus, time, requires a Powerline font.
gitstatus, working directory, time, [email protected] and return status of last command decorations.
gitstatus decorations, k8s context, and
gitdecoration updates for speed.
gitindicator, vim mode indicator and shortened path.
gitinformation for dark terminals.
gitstatus, java version, last command return status, and directory.
gitstatus decorations, working directory, exit status of last command and current
wynwyntakes inspiration from the default theme
avitand the excellent Spaceship prompt.
gitstatus information, machine name, the current working directory and success/fail status of last command.
gitdecorations without special font requirements.
gitstatus and branch, current time, user, hostname, pwd, exit status, whether running as root and background job status.
pyenvstatus decorations, username and host. Tries to install other plugins and fonts, so read its instructions before installing.
gitdecorations, exit status of last command and time.
gitstatus decorations. Doesn't require Powerline fonts.
Some of the themes listed here require Powerline-compatible fonts, here are a few:
Most of these plugins can be installed by adding
antigen bundle githubuser/reponameto 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/reponamefor testing before adding it to your
git clone repo
Zgen is not being actively maintained. Consider switching to the Zgenom fork, which is.
Most of these plugins can be installed by adding
zgen load githubuser/reponameto your .zshrc file in the same function you're doing your other
zgen loadcalls in.
Zgen will automatically clone the plugin repositories for you when you do a
Most of these plugins can be installed by adding
zgenom load githubuser/reponameto your .zshrc file in the same function you're doing your other
zgenom loadcalls in.
Zgenom will automatically clone the plugin repositories for you when you do a
Most of these plugins can be installed by adding
zplug "githubuser/reponame"to your
Most of these plugins can be installed by adding
zpm load "githubuser/reponame"to your
I've documented some recommendations for writing a new plugin here.
Find other useful awesome-* lists at the awesome collection