全文在macOS操作系统下,macOS早在Catalina版本就将zsh作为默认shell,如果是使用的bash,通过chsh -s /bin/zsh将shell设置为zsh,echo $SHELL查看当前使用的哪种shell。
ohmyzsh
作为
zsh的配置管理框架,推荐zsh >= 5.0.8,通过zsh --version查看版本
使用ohmyzsh来丰富你的zsh,不仅可以美化,更能提高开发效率。
插件
介绍
ohmyzsh中几个好用的插件,插件丰富多样,除了内置的插件,还有第三方
确保ohmyzsh已安装,终端中输入vim ~/.zshrc打开zsh配置文件,找到plugins配置项plugins=(),多个插件使用空格隔开。
内置插件
git
plugins=(git)
作为使用频率最高的操作之一,该插件为git命令设置了别名,不再需要每次敲完整命令。每次都输入完整命令提交,搞得你得加班来完成本可以在上班期间就能完成的功能,使用git plugin多少能让你早点下班😂。
常用的别名有:
-
gcb=>git checkout -b -
gco=>git checkout -
gcm=>git checkout 主分支(master, main...) -
gcd=>git checkout 开发分支(dev...)
-
gb=>git branch -
gba=>git branch -a -
gbd=>git branch -d
-
gaa=>git add . -
gcmsg=>git commit -m -
gp=>git push -
gpf!=>git push -f -
gpr=>git pull --rebase -
gup=>git pull --rebase -
glg=>git log --stat -
glgg=>git log --graph -
gst=>git status -
gsh=>git show -
grba=>git rebase --abort -
grbc=>git rebase --continue -
grh=>git reset -
grhh=>git reset --hard
提供的别名非常多,上面列出的为最常用的一些git命令,跟多别名。
node
plugins=(node)
该插件提供快速跳转nodejs文档,在命令行中输入node-docs xxx(api),如node-docs fs快速跳转到fsapi,对于正在使用nodejs开发突然忘记某个api需要查看文档,这个插件有效节省搜索文档时间。
vscode
plugins=(vscode)
命令行输入code或vsc在vscode中打开当前路径下的文件。
web-search
plugins=(web-search)
在默认浏览器中通过指定搜索服务进行搜索,搜索服务包括google bing github...,使用方式为命令行中输入搜索服务 关键词,如google zsh用谷歌快速搜索zsh。
上述四个是内置插件,无需安装直接配置即可使用plugins=(git node vscode web-search),下面介绍两个自定义插件。
第三方插件
zsh-syntax-highlighting
plugins=(zsh-syntax-highlighting)
高亮zsh命令,用于凸显命令的同时,还可以检测当前语法是否正确,如果不正确会被标红。
使用前:

使用后:

如何配置?
首先克隆当前仓库,
git
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
将整个文件移动到~/.oh-my-zsh/custom/plugins下,

接着将zsh-syntax-highlighting添加到配置文件的plugins中。
zsh-autosuggestions
plugins=(zsh-autosuggestions)
该插件会基于已输入过的命令给出提示,点击左方向键即可完成提示输入,其配置方式同zsh-syntax-highlighting,先克隆仓库到本地,移动文件到~/.oh-my-zsh/custom/plugins下,然后添加到plugins中
总结
综上介绍了ohmyzsh的六个插件,四个内置和两个自定义插件,内置插件直接配置到plugins即可,自定义插件需要先克隆仓库然后移动文件到指定目录下,最后plugins如下
zsh
# .zshrc
plugins=(git node vscode web-search zsh-syntax-highlighting zsh-autosuggestions)
ohmyzsh的插件系统非常丰富,上面介绍的六个插件仅仅是冰山一角,大家可以根据自己开发习惯和需求自行添加各类插件。值得注意的是配置的插件数量会影响zsh的初始化速度,过多的插件会导致初始化慢。