热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

antigen简介

在Linux下经常需要进行终端操作,一个好的shell解释器可以帮助我们极大提高工作效率。有些同学可能听说过zshell和oh-my-zsh,前者是一个

在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的一些介绍了,希望对大家有所帮助。


推荐阅读
  • 文章目录前言必知必会的软件服务器分类机架式服务器塔式服务器刀片式服务器三者的区别虚拟服务器(云服务器)服务器的硬件组成服务器常见的品牌前言本文是循序渐进学linux的第一课,为 ... [详细]
  • linux树莓派和n1,树莓派 斐讯N1 搭建NFS
    什么是NFS?1台Linux主机的磁盘可以通过网络挂载到其他Linux主机上,实现云盘效果。NFS是一套软件和协议,同时也是一种文件系统& ... [详细]
  • TLB 缓存延迟刷新漏洞 CVE201818281 解析 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 需求:安装deb包,设置程序安装后启动,不需要root权限启动程序|不能用root权限启动其他开机启动选项方法:root临时降低权限secUser`whoami| ... [详细]
  • 一、如果使用默认的1521端口,让实例自动注册到该监听上,那么local_listener无需设置,listener.ora文件按照正常方 ... [详细]
  • 人生的旅途,前途很远,也很暗。然而不要怕,不怕的人的面前才有路。——鲁迅自从上一篇博客发布后,已经有很长时间没有更新博客了,一直忙着支付通的事情,在此给大家道个歉。先贴个图:你不要惊讶 ... [详细]
  • Mybatis源码解析——Executor
    ExecutorExecutor提供了数据库操作的一些方法以及Mybatis的缓存和事物管理功能。模板方法模式要实现某个方法,必须经过很多算法,但这些算法的顺序是固定的,将算法的运 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了Shell中for命令的基本格式和用法,通过提供一个值列表来迭代执行一系列命令。同时还介绍了如何读取列表中的值,并给出了for命令与其他命令的结合使用示例。 ... [详细]
  • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
    每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
author-avatar
莎ss侄莎
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有