在Linux下经常需要进行终端操作,一个好的shell解释器可以帮助我们极大提高工作效率。有些同学可能听说过zshell和oh-my-zsh,前者是一个shell程序,由于功能比较强大,所以叫做z shell,意为终极shell;而后者是一个模板化的zshell配置脚本,通过它我们可以快速配置一个好用的zsh。不过其实oh-my-zsh也并不是很好用,我了解这个项目也有好几年了,但是仍然只会使用一些默认配置。今天偶然发现了一个项目叫做antigen,它是zsh的包管理器,让我们以类似apt-get的方式来安装zsh功能,非常方便。
关于这个项目的效果图,可以参考官网的视频,基本上演示了antigen的使用方法。下面我们就来直接学习一下如何使用antigen。
安装
用下面的命令就可以将antigen脚本下载到本地。
curl -L git.io/antigen > antigen.zsh
如果要用系统包管理器来安装也可以,如果是Debian系统,可以用下面的命令。
apt-get install zsh-antigen
如果使用ArchLinux,用下面的命令。
yaourt -S antigen-git
其他系统请参考官方文档或者直接用antigen脚本。
用法
快速配置
假如你之前使用了oh-my-zsh,在这里可以先把原来的oh-my-zsh和zshrc文件删掉,然后创建一个新的.zshrc
文件,内容如下。
source /path-to-antigen/antigen.zsh
# 加载oh-my-zsh库
antigen use oh-my-zsh
# 加载原版oh-my-zsh中的功能(robbyrussell's oh-my-zsh).
antigen bundle git
antigen bundle heroku
antigen bundle pip
antigen bundle lein
antigen bundle command-not-found
# 语法高亮功能
antigen bundle zsh-users/zsh-syntax-highlighting
# 代码提示功能
antigen bundle zsh-users/zsh-autosuggestions
# 自动补全功能
antigen bundle zsh-users/zsh-completions
# 加载主题
antigen theme robbyrussell
# 保存更改
antigen apply
配置完之后,打开一个新的zsh终端窗口,antigen就会开始安装所需功能,稍等片刻配置应该就生效了。我录了一个GIF动画,大家可以看看效果。可以看到,只需要很简单的配置,就可以获得自动补全、提示等功能,真的非常简单。顺便说一下,我用的这个录屏软件叫ScreenToGif,可以截取屏幕任意部分保存为GIF或者视频,真是一个非常实用的工具。
详细命令
antigen bundle
该命令用于下载和安装插件,如果插件已安装,那么就加载该插件。下面的例子安装了oh-my-zsh官方仓库的ant
插件。
antigen bundle https://github.com/robbyrussell/oh-my-zsh.git plugins/ant
当然如果仓库在Github上,还可以简化一下。
antigen bundle robbyrussell/oh-my-zsh plugins/ant
antigen cache-gen
这个命令用当前加载的插件生成缓存,可以加快之后的加载过程。
antigen cache-gen
antigen init
该命令可以生成一个antigen配置文件,可以提高之后的加载过程。如果你有了一些稳定的插件,就可以用这个命令将这些插件保存到antigen配置文件中,之后的加载过程会有很大的性能提高。
antigen init /path/to/.antigenrc
antigen update
该命令用于更新插件,这个命令不需要放到.zshrc
文件中,只需要定期手动执行一边进行更新即可。如果需要更新全部插件,插件名留空即可。
antigen update [<bundle-name>]
antigen revert
该命令用于回退到antigen update之前的状态,这个命令没有参数。
antigen list
该命令用于列出所有安装的插件,可以使用三个参数指定如何显示。
antigen list [--simple|--short|--long]
antigen cleanup
该命令会清理掉所有当前未使用的插件。
antigen purge
该命令用于从文件系统上删除插件。删除插件的时候会有提示进行询问,使用--force
参数可以直接删除。需要注意如果在.zshrc
中保留某个插件的引用,下次打开终端的时候会重新下载安装插件。
antigen purge example/bundle [--force]
antigen reset
该命令用于清除生成的缓存,这个命令经常与antigen init配合使用,在引入了新的插件的情况下删除并重新生成缓存。
antigen use
该命令用于加载antigen支持的zsh框架,例如oh-my-zsh和prezto。
antigen theme
该命令用于切换提示符的主题,下面是一个例子。
antigen theme robbyrussell/oh-my-zsh themes/apple
antigen apply
该命令会应用所有之前所做的更改。
antigen selfupdate
该命令用于更新antigen本身。如果antigen位于git仓库中,该命令会执行git pull操作,否则就什么也不做。不过这时候我们仍然可以用前面介绍的方法直接下载脚本。
antigen help
该命令会列出帮助信息。
以上就是antigen的一些介绍了,希望对大家有所帮助。