全文在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
快速跳转到fs
api,对于正在使用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
的初始化速度,过多的插件会导致初始化慢。