惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
爱范儿
爱范儿
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
M
MIT News - Artificial intelligence
D
Docker
量子位
T
Tailwind CSS Blog
人人都是产品经理
人人都是产品经理
月光博客
月光博客
有赞技术团队
有赞技术团队
J
Java Code Geeks
A
About on SuperTechFans
P
Proofpoint News Feed
Jina AI
Jina AI
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
Microsoft Security Blog
Microsoft Security Blog
V
V2EX
GbyAI
GbyAI
F
Fortinet All Blogs

jdhao's digital space

Conversion between base64 and OpenCV or PIL Image 腾讯云对象存储博客图床开启 CDN 加速(不需要购买额外域名) Search and Replace in Multiple Files in Vim/Neovim Change Table Column Width in LaTeX Image or Table Side by Side in LaTeX LaTeX 并排显示图像或表格 Firenvim: Neovim inside Your Browser Content inside HTML tags missing in Latest Hugo? Creating Markdown Front Matter with Ultisnips Labelme JSON 标注格式转 voc XML 格式 Nifty Nvim Techniques That Make My Life Easier -- Series 6 macOS 下如何为视频制作字幕 Running Command Asynchronously inside Neovim Resolving Merge Conflict after Git Stash Pop Pylint: command not found? A Hands-on Experience with Neovim's Built-in LSP Support How to Convert PDF to Images with Imagemagick 互联网上常用缩略语集锦 File Backup in Neovim Converting PDF Pages to Images with Poppler Nifty Nvim Techniques That Make My Life Easier -- Series 5 Neovim Configuration for System-wide Use How to sort a list of tuple or list in Python -- lambda or itemgetter? Building A Vim Statusline from Scratch 人类第一颗原子弹爆炸始末 Distributed Training in PyTorch with Horovod Learning Expect Programming Essential Knowledge about SSH Nifty LaTeX Techniques -- Series 1 更改 Adsense 邮寄地址,重新寄送 PIN
My Experience with Several Zsh Plugin Managers
2019-10-08 · via jdhao's digital space

In this post, I share my experience and opinions on several popular Zsh plugin managers.

zplug#

I have written about zplug in this post. According to this gist, zplug is slow in loading plugins due to its poor design.

My feeling#

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#

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

The -b option specify where you want to install antibody. Antibody will be installed under $HOME/local/bin.

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 path annotations shown above.

My feeling#

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.

Ref:

zinit#

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 pure.zsh.

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

My feeling#

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.

References#