72 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 generated with DocToc
- 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.
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, OSX, 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.
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.
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
. 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
Zim is a Zsh configuration framework with blazing speed and modular extensions.
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.
zplug
🌺 Zplug is a next-generation zsh plugin manager.
zplugin
Zplugin gives reports from plugin load. Plugins are no longer black boxes, report will tell what aliases, functions, bindkeys, Zle widgets, zstyles, completions, variables, PATH and FPATH elements a plugin has set up. Supported is unloading of plugin and ability to list, uninstall, reinstall and selectively disable, enable plugin's completions. Also, every plugin is compiled and the user can control this function. The system does not use $FPATH, it's kept clean!
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, Android, FreeBSD and OS X.
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 total environment manager for ZSH 5+
Tutorials
Generic ZSH
- http://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.
- Larry Schrof's ZSH Workshop
Antigen
- http://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
- 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.plugin.zsh - Adds aliases and functions for managing Apache2
- asciidoctor - A plugin for AsciiDoctor
- atom_plugin.zsh - A plugin for the Atom editor on OS X
- auto-fu.zsh - Automatic complete-word and list-choices. Originally incr-0.2.zsh by y.fujii .
- autoenv - Extended version of the zsh-autoenv plugin.
- autojump - A cd command that learns - easily navigate directories from the command line. Install autojump-zsh for best results.
- 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.
- bitbucket-git-helpers - 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.
- calc.plugin.zsh - A calculator for zsh
- caniuse.plugin.zsh - Add Can I Use... support to ZSH.
- cd-gitroot - A zsh plugin to cd to the git repository root directory.
- cdbk - A ZSH plugin to allow easy named directory creation - shortcuts to any directory you want.
- cdr - Easy setup of cdr for zsh.
- colored-man-pages-mod - Forked from robbyrussell/oh-my-zsh/plugins/colored-man-pages
- command-not-found - mirror of the oh-my-zsh command-not-found plugin so you don't have to include all of omz
- copyzshell - A ZSH plugin to copy your shell configuration to another machine over ssh.
- crash - Proper error handling, exceptions and try/catch for ZSH
- crayon-syntax-zsh - ZSH syntax highlighting for the Crayon Plugin for Wordpress
- 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.
- docker-aliases Docker aliases for everyday use.
- docker-compose Show docker container status in your prompt.
- docker-fun - Adds docker convenience functions.
- docker-helpers - A collection of docker helper scripts.
- dropbox - A dropbox plugin for Zsh that provides
dropbox-cli
anddropbox-uploader
commands. - elixir-oh-my-zsh - A plugin for Elixir, IEX, Mix and Phoenix
- emoji-cli - 😱 Emoji completion on the command line
- enhancd - A simple tool that provides enhanced
cd
command - exercism - A plugin for exercism.io.
- expand-ealias - Expand specific aliases with space
- fixnumpad-osx.plugin.zsh - Enables numpad keys of Apple keyboards to be recognized in zsh
- fzf-marks - Little script to create, navigate and delete bookmarks in Bash and Zsh, using the fuzzy finder 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.
- get-jquery - Plugin for fast downloading jQuery library from code.jquery.com
- ghost-zeus - Lets you use zeus with normal rails commands.
- git-add-remote - Easily add the upstream remote to your git fork.
- git-aliases.zsh - Creates a lot of useful aliases for combinations of commonly used git commands.
- 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-prune - Plugin that simplifies deleting merged branches.
- git-secret - A bash-tool to store your private data inside a git repository.
- gitfast - Updated fork of oh-my-zsh gitfast plugin.
- gitignore.plugin.zsh - 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 OS X.
- grep2awk - ZLE widget to transform grep command into awk command.
- gtm-terminal-plugin - terminal plugin for git time metrics.
- hipchat - Send hipchat messages from the shell.
- history-search-multi-word - multi-word history searcher for Zsh, bound to Ctrl-R
- history-sync - An Oh My Zsh plugin for GPG encrypted, Internet synchronized Zsh history using Git.
- 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.
- iosctl - quickly access App, Data, and Log of the running simulator.
- iterm-tab-colors - Automatically changes iTerm tab color based on the current working directory
- java-zsh-plugin - Adds a setjdk command so you can switch easily between different versions of the jdk
- jenkins-zsh - A jenkins plugin for ZSH, heavily inspired by the excellent jira plugin
- jhipster-oh-my-zsh-plugin - Adds commands for jHipster
- jvm - Allows selection of JDK on OS X.
- k - Directory listings for zsh with git features.
- kitsunebook.plugin.zsh - KitsuneBook plugin for oh-my-zsh.
- lesaint-mvn - Maven plugins for Oh-My-Zsh.
- listbox - Listbox element for shell
- locate-sublime-projects-cli - Allows searching for Sublime Text projects and opens them in Sublime.
- lumberjack - Lumberjack is a logging interface for shell scripts
- mac-packaging - A set of common functions used for enterprise Mac packaging with Munki
- macos-zsh-plugin - A zsh plugin for macOS
- markjump - Allows you to mark directories so you can jump directly to them
- 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.
- monorepo-plugin - ZSH plugin for monorepo management
- mylocation - A plugin to show your current location based on your IP address.
- mysql-colorize - Colors for mysql tables.
- mysql.plugin.zsh - Adds some functions for dealing with mysql.
- nice-exit-code - Maps exit status code to human readable string.
- node.plugin.zsh - Srijan Shetty's nodejs plugin for zsh with caching of nvm completions and autoloading of nvm if present.
- nodenv.plugin.zsh - Auto-load nodenv and its completions into the shell.
- noreallyjustfuckingstopalready - OS X users know the pain of trying to figure out what command actually flushes the DNS cache on their version of OS X, and this plugin makes that annoyance go away.
- 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 - oh-my-dogesh - Dogification plugin.
- oh-my-zsh-dirstack - Plugin for displaying dirstack info on a single line.
- oh-my-zsh-flow-plugin - This plugin makes the flow command available inside every subdirectory of the TYPO3 Flow distribution.
- oh-my-zsh-jira-plus - Create JIRAs from the command line.
- oh-my-zsh-opera-git-plugin - Git aliases
- oh-my-zsh-reminder - A plugin which displays reminders above every prompt
- 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.
- opp.zsh - Vim's text-objects-ish for zsh.
- osx-dev-zsh-plugin - This plugin adds some commands for maintaining various server programs on my OSX install.
- pantheon-terminal-notify-zsh-plugin - Background notifications for long running commands. Supports Elementary OS Freya
- pctl - Toggle the environment variables for proxying
- phpunit.plugin.zsh - 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 - 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.
- project - Create node/python/ruby project both locally and on github(private or public repository)
- revolver - A progress spinner for ZSH scripts
- ripz - A ripgrep-powered zsh plugin alias reminder
- robo-zsh-plugin - A ZSH plugin for Robo
- rockz - Lua + LuaRocks virtual environment manager based upon VirtualZ.
- rvm-zsh - Initiates RVM and adds rubygem binaries (like compass) accessible in the user's $PATH
- safe-paste - A safe-paste plugin. See http://cirw.in/blog/bracketed-paste
- saneopt - Sane defaults for zsh options, in the spirit of vim-sensible.
- schroot - Show current chroot name in your prompt.
- send.zsh - Single command to git add, git commit, and git push for much faster git workflow.
- setenv - Runs a script when you change directories
- 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 solarized dark theme in terminal
- ssh-connect - Simple ssh manager
- startup-timer - Print the time it takes for the shell to start up
- statify - Plugin that does basic statistical analysis
- sterror.plugin.zsh - Interprets error messages from programs and displays a human readable error message when available
- symfony.plugin.zsh - ZSH plugin for Symfony 2 and 3.
- sysadmin-util - Steve Kemp's collection of tool scripts for sysadmins.
- terminal-workload-report - A plugin that calculates and displays how many commands have been run via terminal.
- tipz - Displays your alias if you have an alias for the command you just ran (Similar to alias-tips)
- tsm - Tmux Session Manager
- tumult - Adds tools for OS X
- up.zsh - Adds an up command to cd multiple levels up
- vanilli.sh - A lightweight start point of shell configuration.
- vimman - View vim plugin manuals (help) like man in zsh
- virtualz - Python virtualenv manager inspired by Virtualfish, replaces virtualenvwrapper.
- vox - An oh-my-zsh plugin to control VOX, a lightweight full-featured audio player for OS X 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.
- wakatime - Automatic time tracking for commands in ZSH using wakatime
- warhol - Configures colorization with grc
- watson.zsh - A plugin for watson
- wd - Warp directory lets you jump to custom directories in zsh, without using cd. Why? Because cd seems inefficient when the folder is frequently visited or has a long path.
- yeoman-zsh-plugin - Edouard Lopez's Yeoman plugin for oh-my-zsh, compatible with yeoman version ≥1.0 (includes options and command auto-completion)
- zaw - ZSH anything.el-like widget.
- zce - Vim’s EasyMotion / Emacs’s ace-jump-mode for zsh.
- zero - Zero is both a plugin and a theme. See the github page for installation details.
- zinfo_line - Makes more information available to zsh themes
- zsh-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.
- zsh-abbrev-alias - Provides functionality similar to Vim's abbreviation expansion.
- zsh-async - Library for running asynchronous tasks in zsh without requiring any external tools.
- zsh-autoenv - If a directory contains a .env file, it will automatically be executed when you cd into it.
- zsh-autopair - A ZSH plugin for auto-closing, deleting and skipping over matching delimiters.
- zsh-autosuggestions - Fish-like fast/unobtrusive autosuggestions for zsh.
- zsh-autoswitch-virtualenv - Zsh plugin to automatically switch python virtualenvs when traversing directories
- zsh-basex - Adds several BaseX aliases for simplified usage.
- zsh-bash - Makes ZSH more Bash compatible. It redefines the source command to act more like Bash does. It also enables Bash completions.
- zsh-bd - Jump back to a specific directory, without doing
cd ../../..
- zsh-carthage - Provides completions and aliases for use with Carthage
- zsh-cmd-architect - build commands from what's in history and at prompt, move, delete, add command segments and search history with multi-word queries
- zsh-colors - Makes it easier to colorize text from the CLI.
red foo
just works. - zsh-command-time - Show execution time for long commands in zsh and powerlevel9k
- zsh-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.
- zsh-dircolors-solarized - Solarized dircolors plugin.
- zsh-directory-history - A per directory history for zsh.
- zsh-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.
- zsh-editing-workbench - Adds sane, complex command line editing (e.g. incremental history word completion).
- zsh-emojis - Adds numerous ascii art emojis to your environment in convenient variables.
- zsh-favorite-directories - Fast jumps to your favorite directories
- zsh-functional - ZSH higher order functions.
- zsh-fuzzy-search-and-edit - ZSH plugin for fuzzy searching files and instantly opening a matched file on matched line.
- zsh-geeknote - Geeknote plugin for zsh.
- zsh-git-plugin - Adds some functions for git
- zsh-git-sync - A ZSH plugin to sync git repositories and clean them up.
- zsh-grunt-plugin - Add autocompletion for grunt.
- zsh-gvm (yerinle) - Provides autocompletion for gvm (Groovy enVironment Manager)
- zsh-hints - Display glob and parameter flags and other non completable info right under your editing buffer.
- zsh-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
- zsh-history - Extend history so that it can be queried by SQL
- zsh-konsole-theme-changer - Toggle konsole theme from zsh.
- zsh-kubernetes - Add kubernetes helper functions and aliases
- zsh-manydots-magic - A zle tweak for emulating
...'==
../..' etc. - zsh-maven-plugin - A fork of the oh-my-zsh maven plugin
- zsh-mercurial - extracted from oh-my-zsh so you can use it without omz
- zsh-morpho - terminal screen savers written in pure Zsh, and also screen saver framework
- zsh-navigation-tools - Adds
htop
-likekill
, directory bookmarks browser, multi-word incremental history searcher and more. - zsh-notify - A plugin for the Z shell (on OS X 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).
- zsh-nvm - Zsh plugin for installing, updating and loading nvm.
- zsh-open-pr - A ZSH plugin to open pull requests from command line.
- zsh-opt-path - Automatically add
~/opt
subpaths to your$PATH
. - zsh-osx - Add some common OS X related aliases and functions
- zsh-peco-history - Search shell history with Peco when pressing ctrl+r.
- zsh-pg - Adds utility functions to work with PosgreSQL
- zsh-plugin-ibtool - Adds ibtool shortcuts to generate localized XIB files
- zsh-plugin-rails - ZSH plugin for Rails
- zsh-plugin-vscode - Plugin for Visual Studio Code, a text editor for Mac OS X, Windows, and Linux
- zsh-reentry-hook - Plugin that re-enters working directory if it has been removed and re-created.
- zsh-select - multi-term searched selection list with approximate matching and uniq mode
- zsh-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.
- zsh-suffix-alias - Directly open files in the shell using ZSH's suffix aliases.
- zsh-syntax-highlighting-filetypes - zsh syntax highlighting with dircolors in realtime
- zsh-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.
- zsh-t32 - Plugin for the Lauterbach Trace32 toolset. It automatically registers fonts and sets all necessary environment variables to run the t32 toolset.
- zsh-terminal-app - A plugin for integrating with the new El Capitan Terminal.app features
- zsh-titles - Automatic window and tab titles for tmux and xterm-compatible terminals.
- zsh-tmux-simple - Simple plugin for using tmux with zsh.
- zsh-travis - Opens the Travis CI page for the current repo if one exists.
- zsh-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.
- zsh-viexchange - Vi mode plugin for easily swapping text between two places in the buffer, like vim-exchange.
- zsh-vim-mode - Shrikant Sharat's bindings for zsh's vi mode so it behaves more vim-like.
- zshmarks - A port of Bashmarks (by Todd Werth), a simple command line bookmarking plugin, for oh-my-zsh.
- 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.
Even more completions
These plugins add tab completion without adding extra functions or aliases.
- autopkg-zsh-completion - Completions for autopkg.
- aws_manager_plugin - Add completions for the aws_manager CLI
- berkshelf-zsh-plugin - Adds tab completion for berkshelf.
- bosh-zsh-autocompletion - Adds BOSH autocompletion.
- brew-services - Completion plugin for homebrew services.
- cabal - Adds autocompletion for cabal.
- 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.
- 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
- fly-zsh-autocomplete-plugin - Adds autocompletion options for all Concourse CLI commands.
- gcloud-zsh-completion - Add completions for the Google Cloud SDK
- gentoo-zsh-completions - providing Zsh completion support to various Gentoo tools that lack completion scripts upstream.
- git-flow-completion - ZSH completion support for git-flow
- gradle-completion - Bash and 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).
- jumpstorm-zsh-plugin - Adds autocompletion for jumpstorm
- keybase - Completions for keybase
- newman - provides autocompletion for the Newman CLI
- nix-zsh-completions - Completions for nix, NixOS, and NixOps.
- npm-run.plugin.zsh - Autocompletion support for
npm run
- oh-my-zsh-nova - Provides auto-complete for nova
- oh-my-zsh-spring-boot-plugin - Adds autocompletions for spring-boot commands
- oh-my-zsh_razor_plugin - Provides autocomplete for Razor
- parallels-zsh-plugin - Add completions for Parallels desktop
- pebble-zsh-completion - completion script for pebble
- racket completion - Completion for Racket.
- rake-completion.zshplugin - Add fast tab completion for rakefile targets
- rancher-zsh-completion - Add completions for the Rancher CLI
- ssh-agent - Automatically starts
ssh-agent
to set up and load whichever credentials you want for ssh connections. - surf.plugin.zsh - 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.
- zsh-_url-httplink - Extends zsh's _urls completion, allowing it to complete urls from html pages.
- zsh-better-npm-completion - Better completion for
npm
- zsh-cabal-completion - Add tab completion for cabal
- zsh-completions - A collection of extra completions for ZSH.
- zsh-ipfs - Completions for the Interplanetary File System
- zsh-packer - Adds tab completion for packer
- zsh-pandoc-completion - Pandoc completion plugin
- zsh-pip-completion - Autocompletion plugin for pip
- zsh-ssh-agent - Manage ssh-agent
- zsh.plugin.haxelib - Completions for haxelib
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-zsh-theme - Based on the Sorin theme
- abyss - A dark theme that includes git status information
- adlee - OS X theme, requires Powerline font
- af-magic-mod - af-magic-mod theme. Install with
antigen theme desyncr/zshrc themes/af-magic-mod
. - agnosterAfro - Based on Powerline and Agnoster Theme and inspired from 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. It's a modified version of the avit theme.
- angry fly - Shows git information in right hand prompt.
- aplos - minimal ZSH prompt with working directory, Git local info, Git remote info, time and exit code.
- avit-d2k - Based on Avit, with small changes.
- bandit - Another Powerline variant.
- bashi - Optimized for Ahmet Sülek's Flat UI Terminal Theme and Pasquale D'Silva's Saturn Terminal Theme.
- bklyn - Variant of Powerlevel9k with customizations applied.
- blinks-xfan - Based on the existing theme blinks.
- blox-zsh-theme - 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.
- bluelines - Clear and blue theme.
- brunty - Brunty theme
- bttf-color-zsh - BTTF color theme
- bullet-train - Inspired by the Powerline Vim plugin. It aims for simplicity, showing information only when it's relevant.
- bunnyruni - Simple, clean, and beautiful theme.
- bureau-colorized - Based on bureau.zsh-theme, for people who use Git and NVM.
- bureau - A clear and informative two-lined prompt. Includes git status optimized for large repositories.
- candy-light - Light version of the candy theme.
- carcassoid - Easily customizable zsh theme.
- charged - A zsh prompt optimized for the solarized dark terminal theme.
- chi - A zsh theme optimized for iTerm users on OS X
- ciacho - Based on Agnoster
- classyTouch - Minimal, clean theme with git support
- clean - Minimalist zsh theme
- cloudy - Minimal cloudy zsh theme
- 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.
- codemachine - Codemachine theme.
- cordial - Clean and effective zsh theme with git and npm support
- cute-theme - An OSX oh-my-zsh shell theme with Cute emoji based on the Powerline Vim plugin.
- darkblood-modular - This version of the popular darkblood theme has been enhanced with a near complete rewrite enabling modularity and a few new features.
- delta-prompt - A minimal Zsh prompt
- 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
- dmx - Optimized for dark terminal windows
- dracula - A dark theme for Atom, Alfred, Chrome DevTools, iTerm, Sublime Text, Textmate, Terminal.app, Vim, Xcode, Zsh.
- dragon - Minimalistic, includes git status information
- endless-dog - OMZ theme that mimics grml-zsh-config.
- enkel - A simple and minimalistic theme for ZSH and the Solarised colour scheme featuring Git support and a few other semi-useful features such as displaying exit codes, the current system time, whether or not you have write permissions to the current directory, etc.
- excess - Simple zsh color theme.
- feder - Clean, simple, compatible and meaningful. Tested on Linux, Unix and Windows under ANSI colors
- filthy - A disgustingly clean ZSH prompt
- 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.
- girazz - A modification to the gnzh theme which adds VI mode to the right prompt.
- 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 the git's root folder. When not in a git repo, it shows the path relative to home,
~
. - glimmer - Includes git branch, time and user@host.
- hacker-quotes - Outputs a hacker quote randomly when you open a terminal
- hackersaurus - A theme with git status and exit code of last command run embedded in the prompt. Related to powerlevel9k.
- haribo - Simple git status + timestamp in prompt
- hedgehog - Simple, no-nonsense and clean, with support for git and return codes.
- honukai-iterm-zsh - Honukai theme and colors for oh-my-zsh and iTerm
- 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.
- iggy - A super happy awesome Powerline-style, Git-aware prezto only theme.
- igorsilva - Shows current directory, customizable delimiter, current branch, git status
- 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-zsh-theme - Loosely based on the ys theme.
- judgedim - Minimalist prompt.
- kimwz - Minimal thme
- kketcham - Theme with nifty colors on the git info.
- klendathu - Uses Powerline iconsolas.
- lagune - a minimal zsh theme
- 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
- lazyprodigy - Optimized for dark terminals, has variants for local and remote systems
- lime - Simple standalone Zsh theme.
- 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.
- lone-star - Texas-themed theme based on Sindre Sorhus' pure theme.
- magico - IOsonoTAN's magico theme
- 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.
- min - A minimalistic ZSH promt
- mindful-space - ZSH theme with space in mind.
- minimal - S1ck94's minimal theme.
- misa - misalabs' zsh theme.
- mixed - Optimized for Dark Background
- molokai-powerline-zsh - Based on agnoster.
- 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
- muslim - A simple minimal zsh prompt theme.
- nanofish - Adds fish-style directory prompt to nanotech theme.
- nextbike - A very basic theme which just features an osx bike icon
- ningxia - Based on af-magic.
- nknu - A simple OMZ theme.
- nodeys - Based on ys theme, with added NodeJS version (from NVM plugin)
- nt9 - Clean, distraction free and git focused development theme. Shows path relative to git root (or ~ when outside git repo), time since last commit, current SHA, branch and branch state.
- 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
- oh-my-zsh-node-theme
- oh-my-zsh-robbl - Shows the git/svn status including the time since last commit, rvm status in prompt.
- omz-vira - An update of the bira theme that shows the vim bindkey -v status
- ozono 🌏 OZ0NO - Let's Breathe a clean ZSH
- pad - A concise and colorful oh-my-zsh theme.
- phi φ - A clean and simple theme for ZSH inspired and forked from Lambda (Mod) ZSH Theme
- 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
- powerless - Tiny & simple pure ZSH prompt inspired by powerline
- powerlevel9k - A very flexible theme based on the well-known agnoster-theme with support for various VCS, AWS, rbenv, virtualenv, etc.
- powerline-cute - Based on bullet-train.
- powerline - A git aware powerline theme.
- powerzeesh - A Powerline based zsh theme. It aims for simplicity, showing information only when it's relevant, optimized for speed and look.
- pre-theme - A collection of themes for Sublime Text, Terminal, iTerm2 and zsh.
- predawn-shell - Theme for dark terminal themes
- prezto-cloud-prompt - Prezto port of oh-my-zsh's cloud prompt.
- prezto-lambda - theme for prezto
- prezto_powerline - Powerline for prezto. Shows git information, RVM version.
- punctual - Easily customizable, influenced by spaceship
- pure - Pretty, minimal and fast ZSH prompt.
- purity - Inspired by robbyrussell theme + pure prompt
- racotecnic - Based on af-magic and posh-git.
- radium - Designed for dark terminals, (works best with Solarized iTerm2 theme) (prezto)
- raincoat - A simple omz-compatible theme with a corresponding iTerm2 color scheme.
- random-emoji - Random emoji.
- remiii - Based on agnoster, optimized for solarized terminal themes.
- rummik/zsh-theme - Rummik's theme.
- rzh - Theme with git states indicated by emojis.
- 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.
- sepshell - Clean and minimal zsh theme based on the old lost taybalt theme.
- sfz - an evolution of lean prompt which itself is a rewrite of pure.
- shellder - Minimal theme with git branch display. Requires a powerline font.
- sinon - k-kinzal's sinon theme.
- sk9-zsh - 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.
- smiley - A prompt with happy and sad faces.
- solarized-powerline - Solarized powerline-style theme for zsh
- solarizsh - Color fix for robbyrussell's oh-my-zsh theme to work with Solarized.
- spaceship - A zsh theme with git, nvm, rvm/rbenv/chruby, python, ssh and other useful indicators.
- spelljammer - Minimal theme for oh-my-zsh and prezto
- 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
- statusline - A responsive zsh theme that provides informational segments when you need them
- sugarfree - Based on the Pure and Candy themes.
- tahuri - Zsh theme for Arch Linux.
- the-time-lord - A theme based on gallifrey.
- theme-line - Colorful theme with Git status
- 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 forked from S1cK94/minimal
- vinhnx - Modified from themes/mgutz.zsh-theme.Looks great when using with Solarized color scheme.
- wang-iterm-zsh - based on the 0532 theme
- wild-cherry - A fairy-tale inspired theme for Zsh, iTerm, Sublime, Atom, & Mou
- xremix - An oh-my-zsh shell theme based on the Jreese theme plugin
- xxf - Shows Current commit shorten hash and message.
- yairshefi - Minimal theme with line separated prompts
- ykmam - Modified from ys theme. Optimized for a dark background
- ys - Clean, simple, compatible and meaningful theme meant for dark backgrounds
- yuki - 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
- zeta - Shows username, git information, machine name, current working directory
- zsh-blackrain - git-aware theme
- zsh-megaprompt - A maximalist prompt including keyboard mode, ownership info, and other contextual info, with λ as the prompt character. Requires the hooks plugin.
- zsh-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.
- zsh-theme-nerdish - prompt theme for zsh with Nerd Fonts
- zsh2000 - Powerline looking ZSH theme with rvm prompt, git status and branch, current time, user, hostname, pwd, exit status, root and background job status.
- zshcomrade - A ZSH theme, comrade!
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
Installation
Antigen
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
.
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
Find other useful awesome-* lists at the awesome collection
Other References
The Zsh Reference Card and zsh-lovers site are indispensable.