使用antigen管理 Zsh配置

最新做法参考评论区.zshrc文件配置在正文

首先antigen脚本下载到本地。
直接下载release
可以把这个脚本存入"~"这一文件夹。我用vscode在界面中移动的,命令行有命令行下移动文件的办法。

这里已经存好了
假如你之前使用了oh-my-zsh,在这里可以先把原来的oh-my-zsh和zshrc文件删掉,然后创建一个新的.zshrc文件,内容如下。
也可以直接打开.zshrc文件,删去全部内容,然后把以下内容复制进去。

source /path-to-antigen/antigen.zsh
# 这里antigen.zsh的保存路径就是 ~/zsh 所以第一行应该是source ~/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 z
antigen bundle paulirish/git-open 

# 语法高亮功能
antigen bundle zsh-users/zsh-syntax-highlighting

# 代码提示功能
antigen bundle zsh-users/zsh-autosuggestions

# 自动补全功能
antigen bundle zsh-users/zsh-completions

# 加载主题
antigen theme robbyrussell

# 保存更改
antigen apply


# for ls colors
#LS_COLORS="di=34:ln=35:so=32:pi=33:ex=31:bd=34:cd=34:su=36:sg=36:tw=34:ow=34"
export LS_COLORS
#启用starship
eval "$(starship init zsh)"

补充说明:
1.主题可以从Themes · ohmyzsh/ohmyzsh Wiki中找到主题的名字,然后在上面修改名字,主题文件会在配置后重启时自动下载。
2.末尾的颜色设置,参考vscode wsl入门 - 知乎
解决问题:zsh终端原始情况下ls命令显示的配色会让人看不清楚文件夹名字
看不清楚文件夹名字
3.启用z-jump around插件,rupa/z: z - jump around这是韦易笑提到的跳转功能的来源插件
启用方法是上面的一行antigen bundle z
4.在终端里打开当前项目的远程仓库地址,paulirish/git-open: Type git open to open the GitHub page or website for a repository in your browser.,启用方法是一行antigen bundle paulirish/git-open

快速跳转

作者:韦易笑
链接:https://www.zhihu.com/question/21418449/answer/300879747
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

快速跳转

前面也说过命令行工作中,不同的路径间切来切去是个头疼的问题,除了上面提到的缩写补全外,有无更快的办法让我马上切换到我最近跳转过的某个路径?当然有“cd -”命令:

imgimg

输入 cd 后面加一个减号后,按一次 tab 马上就列出本次登陆后去过的最近几次路径,接着根据下面的提示输入数字按回车就过去了,比如输入:

$ cd -5 <回车>

就跳转到 ~/software/libclang-python3 路径下了。当然你还可以不输入数字,而是再按一次 tab 进入选择模式,上下键或者 ctrl+n/p 来选择,回车确认,ctrl+g 返回。

自动跳转

有了前面的路径缩写展开,和这里的最近访问路径切换,你已经没法再回到过去那种按部就班输入路径外加点弱智补全的方式了,但是可能你还会问,能否更进一步,不限于本次登陆或者最近去过的几级路径,有没有办法让我快速进入自我开始用 zsh 之后进入过的某个路径呢?当然可以,我们用 z 命令,查看历史上进入过的目录:

imgimg

敲入 z 命令,列出了自从我开始用zsh进入过的目录和他们的权重,进入次数越多,权重越大,便于演示,我删除了我的历史,随便 cd 了一下,保持列表的简洁。z 后面加一个关键词就能跳转到所有匹配的历史路径中权重最高的那个了:

imgimg

比如所有历史路径都包含 o ,那么 z o 就会跳转到权重最高的 ~/software 目录中。使用:“z -l foo" 可以列出包含 foo 的所有历史路径:

imgimg

比如我们查询包含关键字为 c 的所有历史路径和他们的权重,有时你搞不清楚权重,可能会跳转错了,比如有两个路径:

project1/src
project2/src

那么你 z src 的时候可能并不能如你愿跳转到你想要去的路径,那怎么办呢?第一个办法是实际 cd project1/src 过去,增加它的权重,权重超过 project2/src 那么下次 z src 的时候就会跳转过去,你可以实时用 z -l src 查看包含 src 的所有路径权重。

更加可靠的方法是,增加一个关键字,比如 z 1 src ,空格分隔多个关键字,z会先匹配出第一个来,比如1 ,然后再匹配第二个 src ,马上锁定 project1/src 了。大家实际使用起来,一般是 z + 最后一级目录名,比如:

$ z vim     # -> /home/skywind/software/vim
$ z tmp     # -> /home/skywind/tmp
$ z local   # -> /home/skywind/.local

99%的时候这样做就足够了,当没有按照你要求跳转的时候,你可以再补充一下再上一级目录的一些信息,比如 z vim/src 或者 z v src 都可以,弄不明白会跳转到哪里,可以随时用:

$ z -l key1 [key2 ... ]

查看权重。不过常使用你根本必担心这个问题,基本上常去的地方,z 都是指哪打哪。如果说前面的路径缩写展开和最近访问快速切换是火箭的话,z 就是加速燃料了。

git-open

在终端里打开当前项目的远程仓库地址
支持打开的远程仓库

  • github.com
  • gist.github.com
  • gitlab.com
  • 自定义域名的 GitLab
  • bitbucket.org
  • Atlassian Bitbucket Server (formerly Atlassian Stash)
  • Visual Studio Team Services
  • Team Foundation Server (on-premises)

起因:为什么说 zsh 是 shell 中的极品? - 韦易笑的回答 - 知乎
参考:

posted @ 2020-04-29 20:37  lingr7  阅读(839)  评论(2编辑  收藏  举报