跳到主要内容

第 16 期 | 效率神器 Oh My Zsh

· 阅读需 4 分钟

在 Oh My Zsh 官方首页是这么介绍它自己的:

“安装之后,你的终端 Shell 立马会成为众人瞩目的焦点,否则我们全额退款!(反正不要钱,随便说说)你的每一个命令行输入,都将借助数百种强大插件和精美主题的加持,效率爆表。咖啡馆里的陌生人会凑过来问:"天呐!这终端太酷了,你难道是个天才程序员?"”

Oh My Zsh 的作者看来很外向,介绍语还有一句是:Oh My Zsh 不会让你变成 10 倍效率的程序员...但用了它,你可能会觉得自己就是

在介绍语上整活的 Oh My Zsh,确实有实力在,目前在 GitHub 上,已经拿下了 176k 的 star

那么 Oh My Zsh 是什么呢?很简单,可以看它做是 zsh 的 plus 增强版本。

这是没有安装 Oh My Zsh 之前的终端:

这是安装 Oh My Zsh 之后的终端:

这里 Oh My Zsh 清晰地展示了目录名称以及当前 Git 项目的分支名称,并且加上了颜色高亮。

如果默认的主题你不喜欢,可以在 Themes 找到其他主题,然后在 ~/.zshrc 更改 ZSH_THEME 字段

Oh My Zsh 最好用之处并不在此,而是它丰富的插件,比如 Git(该插件为预装插件),按下 gst 就相当于 git status

该插件为大部分 Git 命令做了别名,解放高频的 Git 操作:

  • gagaagit addgit add --all 的别名
  • gcogcbgit checkoutgit checkout -b 的别名(检出分支 和 检出并新建分支)
  • gcmsggit commit --message 的别名(提交并添加描述信息)
  • gdgit diff 的别名(查看差异)
  • glgit pull 的别名(拉取远程更新)
  • gpgit push 的别名(推送至远程)
  • gpsupgit push --set-upstream origin $(git_current_branch) 的别名(推送并设置上游分支到远程仓库的当前分支)
  • gstgit status 的别名(查看仓库状态)

第二好用的插件是 zsh-autosuggestions,也就是自动补全,比如我曾经输入过这么一长串命令 find . -name "node_modules" -type d -prune -exec rm -rf {} +,下次输入 f,就出现了该历史命令的建议,按下 Tab 即可补全:

该插件不是预装,需要先下载该插件:

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

编辑 ~/.zshrc,将 zsh-autosuggestions 添加进括号中:

plugins=(git zsh-autosuggestions)

最后重启终端。

第三个是语法高亮插件 zsh-syntax-highlighting

下载插件:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

编辑 ~/.zshrc

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

最后重启终端。

关于 Oh My Zsh 其他的插件,可以参考这份 Awesome Zsh Plugins

看到这里,相信你知道了 Oh My Zsh 是一款非常不错的终端工具了,它极大地提升了终端的输入体验和效率,如果觉得不错,那就执行下面的命令进行安装吧!

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

✨ 每周分享好事、好物、好书,目前仅在本站发布,欢迎 RSS 订阅: https://wukaipeng.com/weekly/rss.xml