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

推荐订阅源

aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
M
MIT News - Artificial intelligence
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
Engineering at Meta
Engineering at Meta
I
InfoQ
T
Tailwind CSS Blog
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
H
Help Net Security
博客园 - 【当耐特】
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
博客园 - 叶小钗
T
The Blog of Author Tim Ferriss
腾讯CDC
雷峰网
雷峰网
Martin Fowler
Martin Fowler
The GitHub Blog
The GitHub Blog
D
Docker

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#