2018-03-22
Top Popular ZSH Plugins on GitHub
There is an exhaustive but curated list of Zsh plugins posted on GitHub project Awesome Zsh plugins. You can find there 800+ links to plugins, themes and Zsh plugin managers/frameworks. Even though it is a collection of awesome stuff the number is a bit high get orientation which plugins gained already good reputation from Zsh users community. In this post I will identify most popular plugins - those which have the highest number of stars.
NOTE: This article was written in 2019, for a more recent version of the ranking see: 2023. There is a series of articles dedicated to Zsh plugins: 2018, 2019, 2021, 2023. The older articles have description of the selected, interesting tools that are not in this article - so you might also to visit the older editions of the survey.
On the GitHub project Awesome Zsh plugins you can find 800+ links to plugins, themes, and Zsh plugin managers/frameworks. Even though it is a collection of awesome stuff the number is a bit high get orientation which plugins gained already good reputation from the Zsh users community. This post aims at identifying the most popular plugins where popularity is measured by the number of stars that GitHub users added to the given plugin. For clarity, I will focus here only on plugins excluding frameworks and themes that are also listed on "Awesome Zsh plugins" website.
What are Github stars?
Stars is the way how users can 'bookmark' projects - this can serve as an indication for others that a project successfully grabbed someone's attention. The stargazers
statistics are available via GithubAPI
Top 20 most popular plugins as of March 2018
link | description | stars |
---|---|---|
autojump | A cd command that learns - easily navigate directories from the command line. Install autojump-zsh for best results. | 6524 |
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. | 4851 |
autosuggestions | Fish-like fast/unobtrusive autosuggestions for Zsh. | 4836 |
blackbox | Stack Exchange's toolkit for storing keys/credentials securely in a git repository. | 4098 |
git-flow-completion | Zsh completion support for git-flow. | 2031 |
zsh-completions | A collection of extra completions for Zsh. | 2003 |
ansiweather | Weather in your terminal, with ANSI colors and Unicode symbols. | 1342 |
k | Directory listings for Zsh with git features. | 898 |
enhancd | A simple tool that provides enhanced cd command. |
826 |
git-secret | A bash tool to store your private data inside a git repository. | 823 |
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. | 704 |
sysadmin-util | Steve Kemp's collection of tool scripts for sysadmins. | 473 |
histdb | Stores your history in an SQLite database. | 426 |
nvm | Zsh plugin for installing, updating, and loading nvm. | 421 |
zaw | Zsh anything.el-like widget. | 402 |
gradle-completion | Bash and Zsh completion support for gradle. | 362 |
Below you can find a short description of the 10 most popular plugins
1. autojump
autojump is a faster way to navigate your filesystem. It works by maintaining a database of the directories you use the most from the command line. Directories must be visited first before they can be jumped to. It can be an alternative for z or fasd
2. syntax-highlighting
This package provides Fish shell-like syntax highlighting for the Zsh. It enables highlighting of commands whilst they are typed at a Zsh prompt into an interactive terminal. This helps in reviewing commands before running them, particularly in catching syntax errors. Some examples:
Before:
After:
Before:
After:
3. autosuggestions
This package provides Fish-like fast/unobtrusive autosuggestions for Zsh. It suggests commands as you type, based on command history. Example:
4. blackbox
This package allows to safely store secrets in a VCS repo (i.e. Git, Mercurial, Subversion, or Perforce). These commands make it easy for you to Gnu Privacy Guard (GPG) to encrypt specific files in a repo, so they are "encrypted at rest" in your repository. However, the scripts make it easy to decrypt them when you need to view or edit them and decrypt them for use in production. Originally written for Puppet, BlackBox now works with any Git or Mercurial repository.
5. git-flow-completion
Bash, Zsh, and Fish completion support for git-flow.
This package provides support for completing:
- git-flow init and version
- feature, hotfix, and release branches
- remote feature, hotfix, and release branch names
6. zsh-completions
This project aims at gathering/develop new completion scripts that are not available in Zsh yet. Demo:
7. ansiweather
AnsiWeather is a Shell script for displaying the current weather conditions in your terminal, with support for ANSI colors and Unicode symbols.
Weather data comes from the OpenWeatherMap
free weather API.
8. k
k is a Zsh script / plugin to make directory listings more readable, adding a bit of color and some git status information on files and directories.
9. enhancd
The new cd
command called "enhancd" enhanced the flexibility and usability for a user. enhancd will memorize all directories visited by a user and use it for the pathname resolution. If the log of enhancd has more than one directory path with the same name, enhancd will pass the candidate directories list to the filter within the ENHANCD_FILTER
environment variable in order to narrow it down to one directory.
Thanks to this mechanism, the users can intuitively and easily change the directory they want to go to.
10. git-secret
git-secret
is a bash tool to store your private data inside a git repo. It encrypts data, using gpg
, the tracked files with the public keys of all the users that you trust. So every one of them can decrypt these files using only their personal secret key. Usage of private-public makes it easier for everyone to manage access rights. There are no passwords that change. When someone is out - just delete their public key, re-encrypt the files, and they won’t be able to decrypt secrets anymore.
On the list there are 300+ projects that are falling into the scope of this research, you can get the complete dataset by downloading this CSV file: CSV.
Any comments or suggestions? Let me know.
To cite this article:
@article{Saf2018Top, author = {Krystian Safjan}, title = {Top Popular ZSH Plugins on GitHub}, journal = {Krystian's Safjan Blog}, year = {2018}, }