news 2026/2/28 4:47:56

【zsh 安装与配置,使用 oh-my-zsh 美化终端】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【zsh 安装与配置,使用 oh-my-zsh 美化终端】

【原文转载】
传统的 bash 功能比较简陋,且不美观。本文基于 Ubuntu22.04.03 LTS 系统,安装 zsh,并使用 oh-my-zsh 对终端进行美化。Oh My Zsh 是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能。

1 环境配置

1.1 安装基本工具

安装基本工具# 更新软件源sudoaptupdate&&sudoaptupgrade-y# 安装 zsh git curlsudoaptinstallzshgitcurl-y

设置默认终端为 zsh(注意:不要使用 sudo)。

chsh-s/bin/zsh

1.2 安装 oh-my-zsh

官网: http://ohmyz.sh/ 。 安装方式任选一个即可。

MethodCommand
curlsh -c "$(curl -fsSL https://install.ohmyz.sh/)"
wgetsh -c "$(wget -O- https://install.ohmyz.sh/)"
fetchsh -c "$(fetch -o - https://install.ohmyz.sh/)"
国内curl 镜像sh -c "$(curl -fsSL https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"
国内wget 镜像sh -c "$(wget -O- https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"

注意:同意使用 Oh-my-zsh 的配置模板覆盖已有的.zshrc

安装 oh-my-zsh

1.3 从.bashrc中迁移配置(可选)

如果之前在使用bash时自定义了一些环境变量、别名等,那么在切换到zsh后,你需要手动迁移这些自定义配置。

# 查看bash配置文件,并手动复制自定义配置cat~/.bashrc# 编辑zsh配置文件,并粘贴自定义配置nano~/.zshrc# 启动新的zsh配置source~/.zshrc

root用户在执行sudo su命令后,再运行上述代码查看、手动复制、粘贴自定义配置。

2 配置主题

2.1 自定义主题

sudowget-O$ZSH_CUSTOM/themes/haoomz.zsh-theme https://cdn.haoyep.com/gh/leegical/Blog_img/zsh/haoomz.zsh-theme

编辑~/.zshrc文件,将ZSH_THEME设为haoomz。当然你也可以设置为其他主题,例如lukerandallrobbyrussell

nano~/.zshrcZSH_THEME="haoomz"source~/.zshrc

设置ZSH_THEME

效果如下(robbyrussellhaoomz):

haoomz主题

2.2 推荐主题

你可以在 内置主题样式截图 中查看所有 zsh 内置的主题样式和对应的主题名。这些内置主题已经放在 ~/.oh-my-zsh/themes 目录下,不需要再下载。

cd~/.oh-my-zsh/themes&&ls

zsh 内置的主题样式

2.2.1 powerlevel10k

根据 中的排名,以及自定义化、美观程度,强烈建议使用 powerlevel10k 主题。

gitclone--depth=1https://github.com/romkatv/powerlevel10k.git${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k# 中国用户可以使用 gitee.com 上的官方镜像加速下载gitclone--depth=1https://gitee.com/romkatv/powerlevel10k.git${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

~/.zshrc设置ZSH_THEME="powerlevel10k/powerlevel10k"。接下来,终端会自动引导你配置powerlevel10k

3 安装插件

oh-my-zsh已经内置了git插件,内置插件可以在~/.oh-my-zsh/plugins中查看,下面介绍一下我常用的插件,更多插件可以在 awesome-zsh-plugins 里查看。

3.1 插件推荐

3.1.1 zsh -autosuggestions

zsh-autosuggestions 是一个命令提示插件,当你输入命令时,会自动推测你可能需要输入的命令,按下右键可以快速采用建议。效果如下:

zsh-autosuggestions自动补全

安装方式:把插件下载到本地的~/.oh-my-zsh/custom/plugins目录。

gitclone https://github.com/zsh-users/zsh-autosuggestions${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions# 中国用户可以使用下面任意一个加速下载# 加速1gitclone https://github.moeyy.xyz/https://github.com/zsh-users/zsh-autosuggestions${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions# 加速2gitclone https://gh.xmly.dev/https://github.com/zsh-users/zsh-autosuggestions${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions# 加速3gitclone https://gh.api.99988866.xyz/https://github.com/zsh-users/zsh-autosuggestions${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
3.1.2 zsh-syntax-highlighting

zsh-syntax-highlighting 是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色。效果如下:

命令语法校验

安装方式:把插件下载到本地的~/.oh-my-zsh/custom/plugins目录。

gitclone https://github.com/zsh-users/zsh-syntax-highlighting.git${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting# 中国用户可以使用下面任意一个加速下载# 加速1gitclone https://github.moeyy.xyz/https://github.com/zsh-users/zsh-syntax-highlighting.git${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting# 加速2gitclone https://gh.xmly.dev/https://github.com/zsh-users/zsh-syntax-highlighting.git${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting# 加速3gitclone https://gh.api.99988866.xyz/https://github.com/zsh-users/zsh-syntax-highlighting.git${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
3.1.3 z

oh-my-zsh内置了z插件。z是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。效果如下:

使用z跳转目录

3.1.4 extract

oh-my-zsh内置了extract插件。extract用于解压任何压缩文件,不必根据压缩文件的后缀名来记忆压缩软件。使用x命令即可解压文件,效果如下:

extract 解压

oh-my-zsh 内置了web-search插件。web-search能让我们在命令行中使用搜索引擎进行搜索。使用搜索引擎关键字+搜索内容即可自动打开浏览器进行搜索。效果如下:

web-search搜索

3.2 启用插件

修改~/.zshrc中插件列表为:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting z extract web-search)

zsh插件列表

开启新的 Shell 或执行source ~/.zshrc,就可以开始体验插件。

4 Tips

4.1 root 用户

当你配置好登陆用户的 zsh 后,如果使用sudo su命令进入root用户的终端,发现还是默认的bash。建议在root用户的终端下,也安装on my zsh,设置与普通用户不同的主题以便区分,插件可以使用一样的。root用户的~/.zshrc配置,仅供参考:

4.2 配置本地代理

如果你配置了本地代理,并希望终端的 git 等命令使用代理,那么可以在~/.zshrc中添加:

# 为 curl wget git 等设置代理proxy(){exportALL_PROXY="socks5://127.0.0.1:1089"exportall_proxy="socks5://127.0.0.1:1089"}# 取消代理unproxy(){unsetALL_PROXYunsetall_proxy}

使用本地代理命令

以后在使用git等命令之前,只需要在终端中输入proxy命令,即可使用本地代理。

4.2.1 WSL 配置本地代理
host_ip=$(cat/etc/resolv.conf|grep"nameserver"|cut-f2-d" ")# 为 curl wget git npm apt 等设置代理proxy(){exportALL_PROXY="http://$host_ip:10811"exportall_proxy="http://$host_ip:10811"# echo -e "Acquire::http::Proxy \"http://$host_ip:10811\";" | sudo tee -a /etc/apt/apt.conf > /dev/null# echo -e "Acquire::https::Proxy \"http://$host_ip:10811\";" | sudo tee -a /etc/apt/apt.conf > /dev/null}# 取消代理unproxy(){unsetALL_PROXYunsetall_proxy# sudo sed -i -e '/Acquire::http::Proxy/d' /etc/apt/apt.conf# sudo sed -i -e '/Acquire::https::Proxy/d' /etc/apt/apt.conf}

4.3 卸载 Oh My Zsh

  • 终端输入 :
uninstall_oh_my_zsh Are you sure you want to remove Oh My Zsh?[y/N]Y
  • 终端提示信息:
Removing ~/.oh-my-zsh Lookingfororiginalzshconfig... Found ~/.zshrc.pre-oh-my-zsh -- Restoring to ~/.zshrc Found ~/.zshrc -- Renaming to ~/.zshrc.omz-uninstalled-20170820200007 Your originalzshconfig was restored. Please restart your session. Thanksfortrying out Oh My Zsh. It's been uninstalled.

4.4 手动更新 Oh My Zsh

  • Oh My Zsh的自动更新提示误触关掉了解决办法
  • 打开终端输入:
upgrade_oh_my_zsh
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/24 15:37:44

Altium Designer安装常见问题:新手入门快速理解

Altium Designer 安装避坑指南:从零开始一次成功的实战配置 你是不是也经历过这样的场景? 刚下载完 Altium Designer,满怀期待地点开安装包,结果弹出一堆错误提示——“.NET Framework 缺失”、“显卡不支持”、“激活失败”………

作者头像 李华
网站建设 2026/2/22 4:25:53

电商系统开发实战:DBEAVER在订单管理中的应用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个电商订单管理系统演示项目,展示DBEAVER在以下场景的应用:1. 多表关联查询订单详情 2. 销售数据统计分析 3. 数据库备份与恢复 4. 团队SQL脚本共享 …

作者头像 李华
网站建设 2026/2/23 4:55:20

文本预处理建议:提高VibeVoice语音生成流畅度的方法

提升VibeVoice语音生成流畅度的文本预处理策略 在播客、有声书和虚拟访谈等长时对话场景中,语音合成系统正面临前所未有的挑战:不仅要让每一句话说得清楚,更要让整段对话听起来自然连贯。用户不再满足于“能听”的机器朗读,而是期…

作者头像 李华
网站建设 2026/2/23 1:50:04

大麦网Python抢票脚本完整使用教程:告别手动抢票烦恼

大麦网Python抢票脚本完整使用教程:告别手动抢票烦恼 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 还在为抢不到心仪的演唱会门票而苦恼吗?每次热门演出开票时&#xff…

作者头像 李华
网站建设 2026/2/24 21:22:00

ncmdump终极指南:免费解密网易云音乐加密格式,实现音乐自由播放

ncmdump终极指南:免费解密网易云音乐加密格式,实现音乐自由播放 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为下载的网易云音乐.ncm格式文件无法播放而烦恼吗?ncmdump就是你的完美解决方案…

作者头像 李华
网站建设 2026/2/26 7:22:35

AI一键生成NGINX管理脚本:告别手动输入命令

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个完整的NGINX服务管理脚本,要求包含以下功能:1.支持start/stop/restart/reload/status五种操作 2.自动检测NGINX是否已安装 3.操作结果彩色输出 4.添…

作者头像 李华