Oh My Zsh 简记

文章目录

概述

Oh My Zsh 是一个开源、社区驱动的 Zsh 配置管理框架(GitHub ⭐ 189k+),它为原生 Zsh 提供了:

  • 300+ 内置插件(git、docker、kubectl、python、node ...)
  • 140+ 内置主题(robbyrussell、agnoster、bira ...)
  • 完善的插件 / 主题管理机制

安装

前置依赖

macOS 在 Catalina 版本及以上,默认 Shell 已为 Zsh。

如果 echo $SHELL 的结果为 /bin/zsh,则执行 chsh -s /bin/zsh 并重启终端以切换到 Zsh。

一键安装

在终端下执行:

bash 复制代码
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
国内网络加速

如果 GitHub 访问不畅,可使用 Gitee 镜像:

bash 复制代码
git clone https://gitee.com/mirrors/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
chsh -s /bin/zsh
安装完成后的目录结构
bash 复制代码
~/.oh-my-zsh/
├── cache/              # 缓存
├── custom/             # ← 第三方插件 & 自定义主题放这里
│   ├── plugins/
│   └── themes/
├── lib/                # 核心库
├── plugins/            # ← 300+ 内置插件
├── themes/             # ← 140+ 内置主题
└── tools/              # 安装/升级脚本
核心配置:~/.zshrc

安装后所有配置集中在 ~/.zshrc 文件中,核心区域如下:

bash 复制代码
# 主题
ZSH_THEME="robbyrussell"       # 默认主题

# 插件列表(空格分隔)
plugins=(
  git
  z
  extract
  sudo
  zsh-autosuggestions
  zsh-syntax-highlighting
)

# 加载 Oh My Zsh
source $ZSH/oh-my-zsh.sh

⚠️ 每次修改 .zshrc 后,执行 source ~/.zshrc 使其立即生效。

要兼容之前的bash配置,可在该配置末尾添加:

bash 复制代码
# 加载 bash 的环境配置
[[ -f ~/.bash_profile ]] && source ~/.bash_profile
常用维护命令
操作 命令
升级 Oh My Zsh omz update
查看版本 omz version
重载配置 source ~/.zshrc
查看所有已启用插件 echo $plugins
查看内置插件列表 ls ~/.oh-my-zsh/plugins/
查看第三方插件 ls ~/.oh-my-zsh/custom/plugins/
卸载 Oh My Zsh uninstall_oh_my_zsh

主题系统

内置主题速查
主题名 特点 适合场景
robbyrussell 默认主题,简洁 日常使用
agnoster 信息丰富,Git 状态可视化 开发者
bira 双行提示,路径清晰 多目录切换
af-magic 双行 + 时间戳 运维 / 日志排查
ys 紧凑,仿 oh-my-fish 风格 极简风格爱好者
第三方主题之王:Powerlevel10k
bash 复制代码
# 安装
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
  ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

# 配置 .zshrc
ZSH_THEME="powerlevel10k/powerlevel10k"

# 重启终端后自动进入交互式配置向导
# 或手动执行:
p10k configure

💡 在iTerm2或Termux中执行p10k configure可以通过问答方式来自动安装 Nerd Font(推荐 MesloLGS NF),否则图标会显示为乱码。

访问Github网络不好,有2种方法解决:

  1. 请参照链接 Nerd Font 使用手动安装方式。
  2. 直接修改 ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k/internal/wizard.zsh 文件中的下载地址为Github的镜像网址(参见:https://blog.csdn.net/zhiyuan411/article/details/140708407)。

插件体系

插件分类
类型 存放位置 安装方式 示例
内置插件 ~/.oh-my-zsh/plugins/ 直接在 plugins=() 中添加名称 git, docker, kubectl
第三方插件 ~/.oh-my-zsh/custom/plugins/ git clone 到 custom 目录,再在 plugins=() 中添加名称 zsh-autosuggestions, zsh-syntax-highlighting
如何查找插件
方法 说明
官方 Wiki https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins:300+ 内置插件完整列表
本地浏览 ls ~/.oh-my-zsh/plugins/ 查看所有内置插件
GitHub 搜索 搜索 zsh pluginoh-my-zsh plugin 找第三方插件
Awesome 列表 https://github.com/unixorn/awesome-zsh-plugins:社区精选
安装插件的标准流程

内置插件(一步到位):

bash 复制代码
# 编辑 ~/.zshrc,在 plugins 中添加名称
plugins=(git docker kubectl)
source ~/.zshrc

第三方插件(两步走):

bash 复制代码
# 第一步:clone 到 custom/plugins 目录
git clone https://github.com/zsh-users/zsh-autosuggestions \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# 第二步:编辑 ~/.zshrc 启用
plugins=(git zsh-autosuggestions)
source ~/.zshrc

插件推荐列表

必装推荐
# 插件名 类型 核心功能
1 zsh-autosuggestions 🔶 第三方 历史命令智能提示 。根据历史记录在你输入时显示灰色建议文本,按 End 键接受补全。被公认为 Oh My Zsh 最有价值的第三方插件,没有之一。
2 zsh-syntax-highlighting 🔶 第三方 实时语法高亮 。输入命令时即时着色:合法命令显示绿色,错误命令显示红色,路径存在与否也有颜色区分。必须放在 plugins=() 列表的最后一位
3 zsh-completions 🔶 第三方 增强补全库。为 Zsh 额外提供数千条补全定义,覆盖大量常用工具(如 cargo、rustup、docker 等),弥补 Oh My Zsh 内置补全的盲区。
4 git 🟢 内置 Git 别名与状态提示 。提供 150+ 个 Git 快捷别名(gst=status, ga=add, gcmsg=commit -m, gco=checkout, gp=push, gl=pull, gd=diff),并在提示符中显示当前分支与脏状态。
5 z 🟢 内置 智能目录跳转 。基于访问频率和最近度(frecency)的智能匹配,z proj 即可跳转到你最常访问的含 "proj" 的目录,告别冗长的 cd 路径。
6 sudo 🟢 内置 快捷提权 。双击 ESC 键,自动在当前命令前插入 sudo,无需手动移动光标到行首。
7 extract 🟢 内置 万能解压 。忘记 tar -xzvf 还是 unzip?只需 extract 文件名,自动识别格式并解压,支持 tar.gz / zip / rar / 7z / bz2 等十余种格式。
macOS 日常与系统效率
# 插件名 类型 核心功能
1 macos 🟢 内置 macOS 系统深度集成 。提供 ofd(在 Finder 中打开当前目录)、cdf(cd 到 Finder 当前目录)、trash(安全删除到废纸篓,替代危险的 rm)、ql(Quick Look 预览文件)等实用命令。
2 brew 🟢 内置 Homebrew 补全与别名 。为 brew 命令提供智能补全,并添加常用别名(如 brewi=brew install, brews=brew search)。
3 copypath 🟢 内置 路径复制 。执行 copypath 一键将当前工作目录的绝对路径复制到系统剪贴板,方便粘贴到文档、聊天或 IDE 中。
4 web-search 🟢 内置 终端搜索google 关键词stackoverflow 错误信息 直接在默认浏览器中打开搜索结果,支持 Google / Bing / DuckDuckGo / GitHub / StackOverflow 等引擎。
5 colored-man-pages 🟢 内置 彩色手册页 。为 man 命令的输出添加语法高亮(命令名、选项、参数分别着色),让帮助文档更易读、更易扫视。
6 thefuck 🔶 第三方 命令纠错 。输错命令后,只需输入 fuck,自动分析上一条错误命令并提供纠正建议,确认后自动重新执行。例如 git pusshfuckgit push
Git 与版本控制
# 插件名 类型 核心功能
1 git-flow 🟢 内置 Git Flow 工作流补全 。为 git flow 子命令(feature / release / hotfix / support)提供完整的 Tab 补全和别名(gf=git flow, gff=git flow feature 等)。
2 gitignore 🟢 内置 一键生成 .gitignoregi java,python,node 自动从 gitignore.io API 拉取对应语言的 .gitignore 模板并输出,支持 500+ 种语言/框架。
3 github 🟢 内置 GitHub CLI 集成 。为 gh(GitHub 官方 CLI)提供命令补全,并添加便捷的 hub 命令快速在浏览器中打开当前仓库的 GitHub 页面。
4 git-auto-fetch 🟢 内置 自动拉取 。每次进入一个 Git 仓库目录时,自动在后台执行 git fetch --all,确保本地远程分支引用始终是最新的。
前端与 Node.js 开发
# 插件名 类型 核心功能
1 nvm 🟢 内置 Node 版本管理 。自动加载 nvm(Node Version Manager),支持 nvm usenvm install 补全,并在进入含 .nvmrc 的项目时自动切换 Node 版本。
2 node 🟢 内置 Node.js 补全 。为 node 命令提供参数补全,并添加实用的 Node 相关别名。
3 npm 🟢 内置 npm 补全与别名ns=npm start, nt=npm test, ni=npm install, nid=npm install --save-dev, nrb=npm run build 等 40+ 个别名。
4 yarn 🟢 内置 Yarn 补全与别名 。为 Yarn v1/v2 提供命令补全,y=yarn, ya=yarn add, yr=yarn remove, yui=yarn upgrade-interactive。
5 pnpm 🟢 内置 pnpm 补全。为 pnpm 提供完整的子命令和参数补全,适配 pnpm workspace 多包管理场景。
6 vscode 🟢 内置 VS Code 集成vsc 用 VS Code 打开当前目录,vsca <dir> 添加到工作区,vscd 对比文件,无缝衔接终端与编辑器。
7 bun 🟢 内置 Bun 运行时补全 。为 Bun(新一代 JS 运行时)提供命令补全和别名,bunx 等快捷操作。
后端、云原生与 DevOps
# 插件名 类型 核心功能
1 docker 🟢 内置 Docker 补全与别名dps=docker ps, di=docker images, dex=docker exec -it, dcp=docker compose 等,覆盖 Docker 全生命周期操作。
2 docker-compose 🟢 内置 Compose 编排补全dcup=docker-compose up -d, dcd=docker-compose down, dcl=docker-compose logs -f,简化多容器管理。
3 kubectl 🟢 内置 Kubernetes 补全与别名k=kubectl, kgp=kubectl get pods, kgs=kubectl get svc, kdel=kubectl delete, klogs=kubectl logs -f,K8s 操作效率提升 3 倍。
4 helm 🟢 内置 Helm 补全。为 Helm 3 提供完整的 chart 管理、release 管理命令补全。
5 terraform 🟢 内置 Terraform 补全与别名tf=terraform, tfa=terraform apply, tfd=terraform destroy, tfp=terraform plan,IaC 操作提速。
6 aws 🟢 内置 AWS CLI 补全。为 AWS CLI v2 提供全面的子命令和参数补全,支持自动补全 EC2 / S3 / Lambda 等服务名。
7 golang 🟢 内置 Go 开发增强 。Go 命令补全 + 自动设置 GOPATH / GOBIN 环境变量 + go 子命令别名。
8 ssh-agent 🟢 内置 SSH 密钥自动加载 。启动终端时自动加载 ~/.ssh/ 下的密钥到 ssh-agent,避免每次 git push / ssh 都要输入密码。
9 tmux 🟢 内置 Tmux 集成 。为 tmux 提供命令补全,并添加 tmux 会话管理别名,方便多窗口 / 多面板操作。
Python 与数据科学
# 插件名 类型 核心功能
1 python 🟢 内置 Python 别名与辅助 。添加 py=python3 等别名,提供 Python 相关的实用函数。
2 pip 🟢 内置 pip 包名补全 。Tab 补全已安装的 pip 包名,pip install / pip uninstall 时自动提示可用包。
3 pyenv 🟢 内置 pyenv 自动加载 。自动初始化 pyenv(Python 版本管理器),支持 pyenv local / pyenv global 补全,进入含 .python-version 的目录自动切换版本。
4 conda 🟢 内置 Conda 环境补全 。为 conda 提供 conda activate / conda install 等命令的完整补全,支持环境名自动提示。
5 jupyter 🟢 内置 Jupyter 别名jnb=jupyter notebook, jlab=jupyter lab 等快捷命令,一键启动数据科学环境。
6 poetry 🔶 第三方 Poetry 补全增强。为 Poetry(现代 Python 包管理工具)提供完整的子命令补全和虚拟环境管理辅助。
终端极客与效率增强
# 插件名 类型 核心功能
1 fzf 🔶 第三方 模糊搜索神器 。接管终端搜索体验:Ctrl+R 模糊搜索历史命令(替代默认的反向搜索),Ctrl+T 模糊搜索文件并插入路径,Alt+C 模糊搜索并 cd 到目录。需先通过 brew install fzf 安装本体。
2 zoxide 🔶 第三方 新一代智能跳转z 的现代替代品)。基于 Rust 编写,比 z 更快更准,支持 z 关键词 直达目录,且支持模糊匹配和多级路径。需先 brew install zoxide
3 you-should-use 🔶 第三方 别名提醒器 。当你手动输入一条完整命令时,如果你已配置了对应的别名,它会弹出提醒:"你有别名 xxx 可以用!"帮你养成使用别名的习惯,逐步提升效率。
4 fzf-tab 🔶 第三方 fzf 驱动的 Tab 补全。将 Zsh 原生的 Tab 补全替换为 fzf 模糊搜索界面,补全文件、命令、进程时支持模糊匹配和预览,体验质的飞跃。
5 alias-finder 🟢 内置 别名查找 。执行一条长命令后,运行 alias-finder 可查找是否有对应的别名可以替代,帮你发现和记忆已有别名。
6 history 🟢 内置 历史增强 。为 history 命令添加时间戳显示、搜索优化等功能,方便回溯和审计历史操作。

性能注意事项

注意事项 说明
zsh-syntax-highlighting 必须放最后 该插件需要 hook 所有命令的输入过程,放在其他插件之后才能正确高亮所有补全结果
zsh-completions 需重建补全缓存 启用后执行 rm -f ~/.zcompdump && compinit 重建缓存
避免插件过多 每个插件都会增加终端启动时间(约 10-50ms),建议控制在 20-25 个以内
NVM 启动慢 如果 NVM 导致终端启动延迟 1-2 秒,考虑使用 fnm(Rust 编写,启动 <10ms)替代
z vs zoxide 两者功能重叠,选其一即可。推荐 zoxide(更快更准),但需额外 brew install
相关推荐
fukai772215 小时前
macOS防止休眠的菜单栏小工具
macos
web守墓人16 小时前
【go语言】gotar:使用go语言复刻tar命令,并加入7z支持,可独立运行在windows、linux、macos上
linux·macos·golang
之歆2 天前
从 Mac 回到 Windows:用 PowerToys + AutoHotkey 找回熟悉手感
windows·macos
星辰即远方2 天前
字符串合法性检验
macos·ios·cocoa
2501_916008892 天前
苹果上架工具怎么选 不用 Mac 上架 App Store 的几种方案
android·macos·ios·小程序·uni-app·iphone·webview
秋雨梧桐叶落莳3 天前
iOS——3GShare项目总结
学习·macos·ios·objective-c·cocoa
酉鬼女又兒3 天前
零基础入门 DeepSeek V4 Pro API 开发:从环境搭建、消息格式规范到翻译函数实战、少样本提示、多轮对话聊天机器人与常见报错全流程详解指南
大数据·网络·数据库·人工智能·macos·机器人·github
独隅4 天前
DevEco Code 在 MacOS 系统上的完整安装、配置与卸载全面使用指南(简略版)
macos·华为·harmonyos
Swift社区4 天前
Mac与Windows终端常用指令对比整理(实用避坑分享)
macos