My Experience with Several Zsh Plugin Managers
In this post, I share my experience and opinions on several popular Zsh plugin managers.
I have written about zplug in this post. According to this gist, zplug is slow in loading plugins due to its poor design.
It has a lot of features. The speed of installing plugins is acceptable but not so fast. Other than that, it is enough for daily usage.
Antibody is proposed to solve the performance issues with antigen. First, we need to install antibody:
curl -sfL git.io/antibody | sh -s - -b $HOME/local/bin
-b option specify where you want to install antibody. Antibody will be
How to use
After installing antibody, a typical way to install plugins is like the following:
# initialize antibody source < (antibody init) antibody bundle zsh-users/zsh-completions antibody bundle caarlos0/zsh-open-github-pr # use the oh-my-zsh plugins antibody bundle robbyrussell/oh-my-zsh path:plugins/aws antibody bundle zsh-users/zsh-syntax-highlighting
Antibody can use plugins from the oh-my-zsh repo with the
Antibody is fast in installing the plugins, but it seems that there is no hint or progress bar informing the user of the progress. It also has less feature compared to other plugin managers.
Update-2020-07-28: Previously zinit is known as zplugin, but the author has decided to rename it to zinit. For more details, see here, here and here.
zinit is also an advanced plugin manager with rich features. In fact, I was overwhelmed when I started using it. It is simple to install, just run the below command:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/zdharma/zinit/master/doc/install.sh)"
How to use
To install normal plugins, zinit works like other plugin managers:
zinit load softmoth/zsh-vim-mode zinit load zsh-users/zsh-autosuggestions zinit load zdharma/fast-syntax-highlighting
zinit also has the so-called ice modifiers, which are used to modify the behaviour of the plugin installation command below. For example, to install the pure theme, we can use the following command:
zinit ice pick"async.zsh" src"pure.zsh" zinit light sindresorhus/pure
It means that we will first source
async.zsh under the repo and then source
Install oh-my-zsh plugins
To install oh-my-zsh plugins, we need to use
zinit snippet command.
Oh-my-zsh plugins start with the
OMZ:: prefix. Below I show how to install
single-files OMZ plugin and multiple-file OMZ plugins.
# Install a OMZ plugin with multiple files zinit ice svn lucid zinit snippet OMZ::plugins/pip # Install a OMZ plugin with single file zinit ice wait lucid zinit snippet OMZ::plugins/fzf/fzf.plugin.zsh
zinit has so many ice modifiers and so many features that new users may find it hard to understand all of this. It also has a lot of commands that I do not understand. In summary, it has steeper learning curves compared to other plugin managers.
License CC BY-NC-ND 4.0