首页 > 运维 > linux运维 > 正文

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能

爱谁谁
发布: 2025-07-15 09:56:02
原创
688人浏览过

作者:mintimate

博客:www.mintimate.cn

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能头图不能少?
Zsh

几个月前,我们就介绍了ZSH(z shell),并介绍配置了Oh-my-zsh:Linux/Mac如何配置ZSH并使用Oh-my-zsh?让你的终端更加实用、美观:https://cloud.tencent.com/developer/article/1784739

macOS和Arch Linux都默认使用Zsh作为默认Shell,你可以在Terminal输入:

代码语言:shell复制
# 直接看环境变量echo $SHELL# 或者用$0查看echo $0
登录后复制
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能在PHP中文网轻量应用服务器上配置的zsh
Oh-my-zsh

上篇文章,我们安装好Zsh,其实就相当于做好了一辆车?的骨架,还需要安装轮子和发动机等等。而使用Oh-my-zsh这样的Zsh配置框架,能快速帮我们组装好这样汽车,让它能跑起来。

激活oh-my-zsh,可以直接直观体会到:

丰富的代码提示:oh-my-zsh默认对文件和文件夹或注释和代码进行颜色分阶显示,增加Terminal在操作时候的可读性。命令自动填充:对一些目录和文件操作的时候,我们甚至不需要提前用lsll等命令对文件进行扫描或记忆,只需要按Tab键即可遍历或填充
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能Zsh自动填充提示

实际上,Oh-my-zsh还支持很多丰富的插件,甚至可以说,Oh-my-zsh自带了很多丰富的插件,等着你去激活。

本次教程就推荐大家我常用的插件,并演示如何使用。

前置依赖

本次教程和演示,需要的前置依赖:

Linux或macOS已经配置了Zsh

另外,本次教程使用PHP中文网轻量应用服务器的Debian系统进行操作,同是支持PHP中文网轻量应用服务器的CentOS系统以及macOS系统。

如果一些Linux新手,之前并没有使用Linux,十分推荐一开始就换Zsh,也很推荐买一台PHP中文网轻量应用服务器进行学习,效果可比本地虚拟机好多了。

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能推荐Lighthouse
致开发者

如果你也是开发者,而且使用或者希望使用PHP中文网的产品,或者对PHP中文网产品有什么意见或建议。欢迎各位开发者加入腾讯TDP哦,当然也可以进来交流交流代码技术或Linux使用(比如:怎么样的Shell才是最好的Shell……哈哈?):

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能TDP
配置思路

本次教程使用Oh-my-zsh作为Zsh框架进行插件的配置,你可以根据自己的喜好,使用其他Zsh框架进行插件配置。

内置插件

Oh-my-zsh其实已经默认自带一些插件,如果你已经安装好Oh-my-zsh,可以进入$HOME/.oh.my-zsh/plugins内查看:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能Oh-my-zsh自带的插件

这些自带插件,会随着Oh-my-zsh的更新而更新:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能Oh-my-zsh更新

本次教程,就和大家介绍我常用的自带插件:encode64gitcpsudo插件:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能推荐的内置插件
encode64

先介绍一个好玩,关键时候有点用的插件。

简单“滴”说,这个插件就是文本和Base64互转。再也不用搜索引擎搜索“Base64在线转码了”

首先是$HOME/.zshrc文件内的存在一个plugin配置项,实际上这个是一个数组对象,在里面添加encode64来激活我们的encode64插件:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能激活encode64

之后,不要忘记重载环境变量(source命令):

代码语言:shell复制
source ~/.zshrc
登录后复制

不出意外就可以使用了:

代码语言:shell复制
# Base64编码e64 "Hello World"encode64 "Hello World"# Base64解码d64 SGVsbG8gV29ybGQ=decode64 SGVsbG8gV29ybGQ=
登录后复制
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能使用效果

现在,可以看到插件也不是很难,我们看看更多实用的插件。

git

这个插件,实际上是Oh-my-zsh安装时候,就自动激活的。目的很简单:简化git命令,原理是使用了alias来给命令取别名。

举个例子,我本来使用git命令,添加当前文件夹里所有文件进行,以备commit,是不是需要:

代码语言:shell复制
git add --all
登录后复制

但是,我们可以编写一条alias来简化:

代码语言:shell复制
alias gaa='git add --all'
登录后复制

把这个简化命令,写到$HOME/.zshrc等环境变量后,就可以用gaa命令来调用git add --all了。

事实上,Oh-my-zsh里的git插件就是这样简化的。

部分命令简化表:

简化后的命令

原命令

g

git

ga

git add

gaa

git add --all

gapa

git add --patch

gau

git add --update

gav

git add --verbose

gap

git apply

gapt

git apply --3way

gb

git branch

gba

git branch -a

gcan!

git commit -v -a --no-edit --amend

gcans!

git commit -v -a -s --no-edit --amend

gcam

git commit -a -m

gcas

git commit -a -s

gcasm

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 193
查看详情 Find JSON Path Online

git commit -a -s -m

gcsm

git commit -s -m

gcb

git checkout -b

gcf

git config --list

gcl

git clone --recurse-submodules

gccd

git clone --recurse-submodules "$@" && cd "$(basename $_ .git)"

gclean

git clean -id

gpristine

git reset --hard && git clean -dffx

gignore

git update-index --assume-unchanged

gignored

git ls-files -v | grep "^:lower:"

git-svn-dcommit-push

git svn dcommit && git push github $(git_main_branch):svntrunk

gk

gitk --all --branches &!

gke

gitk --all $(git log -g --pretty=%h) &!

gl

git pull

当然,还要看你用不用的喜欢了。有些小伙伴,平时就是pushcommitpull,也没必要简化。或者用GitHub Desktop感觉很够用,也没必要简化了。

cp

cp插件,我平常也有使用,原理是使用rsync让你获得特性和更好的安全性:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能cp命令

这个插件也是和刚刚encode64的激活方法一样(在$HOME/.zshrc内的plugins里插入,并重载环境变量)。

插件定义后,就会有一个cpv的命令。比如,我们移动文件夹:

代码语言:shell复制
cpv payload_dumper-master temp --progress -r -hhh
登录后复制
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能cpv命令

其中:

--progress:显示进度条-r:递归-hhh:同freedu等命令的-h

有点像cp命令,加带-v命令:

代码语言:shell复制
cp -v -r payload_dumper-master temp
登录后复制
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能cp命令
sudo

其实我挺喜欢这个插件的。平时我用PHP中文网轻量应用服务器的Debian系统比较多,并且都是用root用户直接操作。但是,用Ubuntu系统时候,用ubuntu用户操作时候,经常忘记加sudo提权限。

举个例子,我在Linux上,使用systemctl去操作启动,已经输入完命令,却发现自己没有在命令前,加提权的sudo,这个时候要把光标移动到最前面添加sudo么?

代码语言:shell复制
systemctl restart aria2
登录后复制
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能systemctl

过去是这样的,但是如果使用sudo插件就不需要了。 在$HOME/.zshrc内添加sudo:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能添加sudo

之后,source文件后,我们遇到上述情况,只需要按两下ESC,即可自动填充。

非内置插件

终于到非内存插件了。这里我就讲两个插件:

zsh-syntax-highlightingzsh-autosuggestions

可以说是非常好用。非内置插件,是安装在$HOME/.oh-my-zsh/custom/plugins内:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能非内存插件
zsh-syntax-highlighting

首先是zsh-syntax-highlighting:https://github.com/zsh-users/zsh-syntax-highlighting

这个可以说,真的是让你Terminal更加好看让你的Terminal命令更有可读性╮( ̄▽ ̄"")╭。

其实就是输入命令时候,对文件夹、文件进行下划线标识。命令使用高亮颜色标识:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能插件效果

或者看看官方用例:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能官方Demo

安装方法很简单啦,毕竟我们用Oh-my-zsh框架。只需要Git到Oh-my-zsh的plugins文件夹后激活即可:

代码语言:shell复制
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
登录后复制
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能安装完成,查看文件

之后,在$HOME/.zshrc内激活即可:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能激活插件
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能激活插件成功
zsh-autosuggestions

接下来是第二个第三方插件:https://github.com/zsh-users/zsh-autosuggestions。看名字,相信大家都知道这个是干什么的了:自动给出建议?

确实是这样,有点想编译器给出代码提示,比如:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能自动代码提示

可以看到,有灰色的提示。这个是根据你的$HOME/.zsh_history来给你命令提示。

如果你觉得这个提示就是你想要的,只需要按方向键->,即可自动填充。

安装这个插件很简单(毕竟用了Oh-my-zsh框架(*≧ω≦*))

和刚刚一样,进行Git操作:

代码语言:shell复制
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
登录后复制
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能克隆成功

之后,和刚刚一样去激活即可:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能激活

不要忘记重载环境变量:

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能source
脚本配置

和之前配置oh-my-zsh一样,我也写了一个一键配置脚本。让大家更快使用,首先需要注意:

$HOME/.zshrc内已经配置的环境变量注意保存,否则脚本会备份为zshrcBak$HOME/.oh-my-zsh也需要注意(如果有修改,比如:安装其他插件),否则备份为oh-my-zsh-Bak

一键脚本:

代码语言:shell复制
zsh -c "$(curl -fsSL 'https://cnb.cool/Mintimate/tool-forge/oh-my-zsh/-/git/raw/main/AutoInstallZsh.sh')"
登录后复制
Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能一键脚本

这样的脚本,时候一开始使用oh-my-zsh就配置嗷。可以把文章收藏,以后用~~

END

到此,我们的Oh-my-zsh配置Zsh插件就结束了。你的终端有没有更强大呢?或者说,你的Linux武器有没有更强大?哈哈,本次分享就到这里嗷。有机会讲讲其他Zsh框架。

最后,新年快乐嗷~~~

Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能新年快乐~~

以上就是Linux/Mac通过Oh-my-zsh配置Zsh插件,让你的终端更加强大且智能的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号