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.
These frameworks make customizing your zsh setup easier.
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 ansible role with zero-knowledge installation. It uses antigen for manage bundles and oh-my-zsh. Can load bundles conditionally. By default it includes powerlevel9k theme, autosuggestions, syntax-highlighting, fzf-widgets. 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 A faster and simpler antigen written in Golang. More details at https://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.
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 enriches the ZSH command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes.
Pumice is a lightweight plugin manager for zsh.
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 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 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.
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 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 is a next-generation zsh plugin manager.
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 ( 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.
ZR is a zsh plugin manager written in Rust.
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 is a total environment manager for ZSH 5+
- 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.
- Larry Schrof's ZSH Workshop.
- 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.
- ZSH Gem 24 - Part of the 2011 ZSH Advent Calendar. Covers oh-my-zsh and zshuery.
- 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.
- 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.
- 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 .
- auto-ls - Automatically
ls
when cding to a new directory. - 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.
- aws-upload-zsh - Boost your productivity with aws-upload.
- 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.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.
- clean-project - Remove files from projects (automatically by default). Useful for keeping
.DS_Store
andThumbs.db
files from cluttering your directories. - colored-man-pages-mod - Forked from robbyrussell/oh-my-zsh/plugins/colored-man-pages. Colorizes
man
output. - 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 - Adds 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.
- docker-machine - A docker-machine plugin for ZSH.
- docker-run - Go back to running your commands "naturally", we'll handle the container.
- dropbox - A dropbox plugin for Zsh that provides
dropbox-cli
anddropbox-uploader
commands. - elixir-oh-my-zsh - Adds shortcuts 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.
- fast-syntax-highlighting - Optimized an improved
zsh-users/zsh-syntax-highlighting
– better response times,zed/vared
can edit10 kB
functions. - 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.
- gimme - Manage Go installations with gimme.
- 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-prompt-useremail - Adds prompt reminders for git user.email.
- 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.
- hanami-zsh - zsh plugin for hanami projects
- hipchat - Send hipchat messages from the shell.
- 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-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.
- kubectl-zsh-plugin - ZSH plugin for managing kubectl.
- laravel - Add shortcuts for Laravel 5, 5.1, 5.2 & 5.3.
- 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.
- 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.
- 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.
- 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.
- nohup - Add
nohup
to the current command pressingCtrl-H
. - 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.
- open-create-projects - Open/Create projects in Jetbrains.
- operator - Clean and simple theme, works best with Menlo for Powerline.
- 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.
- phpcs.plugin.zsh - Plugin for PHP code sniffer.
- 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).
- project.plugin.zsh - Plugin for managing projects.
- proxy-plugin - Aliases to manage proxy shell environment settings.
- 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.
- 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.
- 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 - A 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 - Adds a tmux Session Manager.
- tumult - Adds tools for OS X.
- ubuntualiases - Ubuntu 16 aliases.
- 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.
- virtualenv-mod - A modified virtualenv zsh plugin for oh-my-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.
- zconvey - Adds ability to send commands to other Zsh sessions, you can use this to
cd $PWD
on all active Zshells, for example. - zedzsh - 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.
- zinfo_line - Makes more information available to ZSH themes.
- zredis - Adds Redis database support, with
database_key
<->shell_variable
binding. Supports all data types. - 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-dircycle - Cycle through the directory stack.
- 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-smart-commands - Adds git commands to make some common git usages more efficient.
- zsh-git-sync - A ZSH plugin to sync git repositories and clean them up.
- zsh-google-lucky - Simple plugin to search for last command in google's "I feel lucky"
- 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-histdb - Stores your history in an SQLite database.
- 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-interactive-cd - Fish-like interactive tab completion for
cd
. - zsh-iterm-touchbar - Display iTerm2 feedback in the MacbookPro TouchBar (Current directory, git branch & status).
- 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 oh-my-zsh.
- 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.
- zsh-you-should-use- ZSH plugin that reminds you to use those aliases you defined.
- 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.
- ZUI - ZSH User Interface library – CGI+DHTML-like rapid TUI application development with ZSH.
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-annex-completion - Allows tab completion for most git-annex commands
- 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).
- jtool-completion - ZSH completions for jtool
- 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.
- snappy - Add completions for snappy.
- 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.
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.
- absolute - Very clean looking theme with git status, node version and the exit code from the last command.
- 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
. - agkozak - Displays git branch and status and vi editing mode in the main prompt and also displays non-zero exit codes in ZSH's right prompt. An SSH connection is indicated by the presence of a hostname in the prompt; local connections show only a username.
- 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. 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.
- asciigit - An ASCII-only theme for git users who don't want to use fonts with extra glyphs.
- astro - Based on
ys
theme androbbyrushell
(default theme) theme. - 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.
- bilibili - BiliBili 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.
- bronze - A cross-shell customizable powerline-like prompt with icons written in go. Requires nerd-fonts.
- 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.
- 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.
- clarity - Designed for for simpleness and extensibility.
- 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
- fishy - ZSH theme inspired by original fishy
- 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.
- geometryHostInfo Adds host info to the geometry theme.
- 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.
- horizontal - Two line prompt with a horizontal separator.
- 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.
- keloran - Theme that includes a few features from other themes
- kimwz - Minimal theme.
- kinda-fishy-theme - 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.
- lagune - a minimal ZSH theme.
- lambda-pure - A minimal ZSH theme, based on Pure, with added NodeJS version.
- lambdav - A combination of the Lambda and Fishy themes.
- 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.
- 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.
- min - A minimalistic ZSH prompt.
- 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.
- neat - Minimalistic prompt inspired by odin and pure.
- 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 - OMZ's 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.
- 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.
- 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. Works with vanilla ZSH as well as the various ZSH frameworks.
- powerline-cute - Based on bullet-train.
- powerline - A git aware powerline theme.
- powerline-shell - A powerline-like prompt for Bash, ZSH and Fish. Shows important details about git/svn/hg/fossil branch and is easy to customize/extend.
- 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-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 - 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.
- refined - A ZSH theme focused on simpleness and usefulness.
- 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, with git bisecting/merging/rebasing modes and configurable prompt symbols.
- 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.
- 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.
- 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.
- sugarfree - Based on the Pure and Candy themes.
- 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.
- tq - Displays git status, time, requires a Powerline font.
- 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.
- work-line - Theme with nice emojis.
- 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 - 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.
- zeta - Shows username, git information, machine name, current working directory.
- zsh-blackrain - Another 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 - A 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!
- zwsh - A Zpm3/Wordstar mode/theme for ZSH
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.
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
.
- Clone new plugins into
.zsh.local/modules
- Load the plugin module in
.zshrc
- Open a new ZSH terminal window or tab
cd ~/.oh-my-zsh/custom/plugins
git clone repo
- Add the repo to your plugin list
- Clone the plugin into your prezto modules directory
- Add the plugin to your
.zpreztorc
file - Open a new terminal window or tab
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
.
Most of these plugins can be installed by adding zplug "githubuser/reponame"
to your .zshrc
file.
I've documented some recommendations for writing a new plugin here.
- 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
The ZSH Reference Card and zsh-lovers site are indispensable.