The collection Awesome Zsh plugins of projects that can be useful for Zsh users grew substantially from the first, 2018 release of my article on Top-popular Zsh plugins - from 800+ to 1800+. In this article I’m listing top-popular tools that might be interesting for Zsh users or in most cases any console users. I have divided them into four categories:
- Tools - general tools that are popular among console lovers, in most cases not limited to Zsh
- Frameworks - tools for managing Zsh configuration and plugins
- Prompts - projects that helps to configure shell prompts
- Python tools - tools that ease work with Python virtual environments
GitHub Stars as indicator of project popularity
One of the ways to estimate project popularity is to look on number of stars. GitHub users often uses stars as kind of bookmark to mark interesting project to come back later. People that marked project with a star are called “Star gazers”. For sake of this article, to extract “most popular” plugin projects I have used stars.
Top popular plugins as of November 2021
|link||description of the Github project repo||stars|
|thefuck||Magnificent app which corrects your previous console command.||64.9k|
|fzf||A command-line fuzzy finder||40.6k|
|bat||A cat(1) clone with wings.||30.5k|
|ripgrep||ripgrep recursively searches directories for a regex pattern while respecting your gitignore||28.3k|
|powerlevel10k||A Zsh theme||22.9k|
|zsh-autosuggestions||Fish-like autosuggestions for zsh||19.4k|
|solarized||precision color scheme for multiple applications (terminal, vim, etc.) with both dark/light modes||15.0k|
|diff-so-fancy||Good-lookin’ diffs. Actually… nah… The best-lookin’ diffs.||14.8k|
|z||z - jump around||13.7k|
|powerlevel9k||Powerlevel9k was a tool for building a beautiful and highly functional CLI, customized for you. P9k had a substantial impact on CLI UX, and its legacy is now continued by P10k.||13.3k|
|autojump||A cd command that learns - easily navigate directories from the command line||13.2k|
|zsh-syntax-highlighting||Fish shell like syntax highlighting for Zsh.||13.1k|
|asdf||Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more||12.4k|
|ctop||Top-like interface for container metrics||12.1k|
|kubectx||Faster way to switch between clusters and namespaces in kubectl||11.8k|
|tmuxinator||Manage complex tmux sessions easily||11.0k|
|tig||Text-mode interface for git||10.4k|
|navi||An interactive cheatsheet tool for the command-line||10.0k|
|peco||Simplistic interactive filtering tool||6.6k|
I have selected two projects that I haven’t described in previous years but I’m happy user of both.
As authors call it
diff-so-fancy strives to make your diffs human readable instead of machine readable. This helps improve code quality and helps you spot defects faster and it does what it promises. See the screenshot that compares vanilla
git diff vs.
You might have noticed that differences are spotted not only on line-level but also on character-level.
Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level. Tig allows for convenient staging files in interactive mode:
In the main view you can interactively browse commit history and jump into inspecting selected commit.
Next to git-gui it is my favourite tool for staging git changes.
|ohmyzsh||A delightful community-driven (with 1900+ contributors) framework for managing your Zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.||136.8k|
|prezto||The configuration framework for Zsh||12.4k|
|antigen||The plugin manager for Zsh.||6.8k|
|zimfw||Zim: Modular, customizable, and blazing fast Zsh framework||2.2k|
|dotzsh||A community driven framework for Zsh||193|
|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.||88|
NOTE: That popular theme managers as powerlevel9k and powerlevel10k also provides highly configurable prompts but are not listed here.
|starship||The minimal, blazing-fast, and infinitely customizable prompt for any shell!||20.1k|
|spaceship-prompt||A Zsh prompt for Astronauts||15.6k|
|pure||Pretty, minimal and fast ZSH prompt||10.8k|
|bash-git-prompt||An informative and fancy bash prompt for Git users||6.1k|
|powerline-shell||A beautiful and useful prompt for your shell||5.7k|
|liquidprompt||A full-featured & carefully designed adaptive prompt for Bash & Zsh||4.1k|
|oh-my-git||An opinionated git prompt for bash and zsh||3.5k|
|kube-ps1||Kubernetes prompt info for bash and zsh||2.5k|
|powerline-go||A beautiful and useful low-latency prompt for your shell, written in go||2.3k|
|zsh-git-prompt||Informative git prompt for zsh||1.5k|
|gitstatus||Git status for Bash and Zsh prompt||1.2k|
|geometry||geometry is a minimal, fully customizable and composable zsh prompt theme||0.8k|
|typewritten||A minimal, lightweight, informative zsh prompt theme||0.6k|
Since Python dominates in the code I write, I have added section for two projects that helps to manage virtual environments.
|pew||A tool to manage multiple virtual environments written in pure python||1.1k|
|zsh-autoswitch-virtualenv||ZSH plugin to automatically switch python virtualenvs (including pipenv and poetry) as you move between directories||0.3k|
It is interesting how the number of start grows - the IT world includes more and more people every day. Lots of these people wish to optimise their work environment. Those who works often in console takes look on the helper tools listed on pages as Awesome Zsh plugins or Terminals Are Sexy. This article aimed to highlight projects gaining a lot of attention and brings added value to the awesome lists that are ordered alphabetically without information on number of stars.