ohmyzsh: 终端美化神器

2025年09月16日 07:24:16
241238
终端美化 zsh配置 插件 主题

项目结构

📌 ohmyzsh ohmyzsh/ohmyzsh

Oh My Zsh是开源的Zsh配置管理器,装完终端瞬间变好看,还有自动补全、命令高亮、快捷别名,比如输“git st”就能代替“git status”,程序员敲命令快到飞起。 主要功能: 终端美化(支持几百个主题,比如经典的agnoster);命令自动补全(输一半按Tab自动补全);命令高亮(正确命令绿色,错误命令红色);快捷别名(自定义命令缩写,比如“ll”代替“ls -l”);插件扩展(比如git插件加很多git快捷命令)。

项目大小
涉及语言 Shell 98.60% Python 1.33% Makefile 0.07%
许可协议 MIT License

Oh My Zsh

Oh My Zsh 是一个开源的、社区驱动的框架,用于管理您的 zsh
配置。

听起来很无聊。让我们再试一次。

Oh My Zsh 不会让你成为 10 倍的开发人员…但你可能会觉得自己是其中之一。

安装后,您的终端外壳将成为热门话题 或者退款! 每次击键
在命令提示符中,您将利用数百个强大的插件和漂亮的主题。
陌生人会在咖啡馆里走到你面前问你, “这太神奇了!你是天才吗?

最后,您将开始获得您一直认为自己应得的那种关注。…或者也许你会
利用您节省的时间开始更频繁地使用牙线。😬

要了解更多信息,请访问 ohmyz.sh跟随 @ohmyzsh 在 X 上(以前
Twitter)一个nd join us on Discord.

CI
X (formerly Twitter) Follow
Mastodon Follow
Discord server
Gitpod ready

Table of Contents

Getting Started

Operating System Compatibility

作系统 地位
人造人
freeBSD
LCARS 🛸
Linux
macOS
OS/2 变形
Windows (WSL2)

Prerequisites

  • Zsh 应该安装 (v4.3.9 或者 more recent is fine but we prefer 5.0.8 and
    newer). If not pre-installed (run zsh --version 以确认),请在此处查看以下 wiki 说明:
    Installing ZSH
  • 卷曲 or wget should be installed
  • git 应安装(推荐 v2.4.11 或更高版本)

Basic Installation

Oh My Zsh 已安装 by running one of the following commands 在your terminal. 你 can install this via the
命令行,替换为 curl, wget 或nother similar tool.

方法 命令
curl sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
wget sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
获取 sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

或者,安装程序也会镜像到 GitHub 外部。如果您符合以下条件,则可能需要改用此网址
在中国或印度等国家/地区(对于某些 ISP),阻止 raw.githubusercontent.com:

Method Command
curl sh -c "$(curl -fsSL https://install.ohmyz.sh/)"
wget sh -c "$(wget -O- https://install.ohmyz.sh/)"
fetch sh -c "$(fetch -o - https://install.ohmyz.sh/)"

请注意,以前的任何 .zshrc 将重命名为.zshrc.pre-oh-my-zsh.安装后,您可以移动
要保留到新的 .zshrc.

Manual Inspection

最好检查您还不知道的项目中的安装脚本。您可以通过以下方式做到这一点
首先下载安装脚本,浏览它,使一切看起来正常,然后运行它:

如果上述 URL 超时或失败,您可能必须将 URL 替换为
https://install.ohmyz.sh 能够获得脚本。

Using Oh My Zsh

Plugins

Oh My Zsh 附带了大量插件供您利用。大家可以看看
plugins 目录和/或
wiki 以查看当前可用的内容。

Enabling Plugins

一旦您发现想要与 Oh My Zsh 一起使用的插件(或多个),您需要在
.zshrc 文件。你会在你的$HOME 目录。使用您最喜欢的文本编辑器打开它
您将看到一个位置,列出要加载的所有插件。

1
vi ~/.zshrc

For example, this 可能 begin to look like this:

1
2
3
4
5
6
7
8
9
plugins=(
  git
  bundler
  dotenv
  macos
  rake
  rbenv
  ruby
)

请注意,插件用空格分隔(空格、制表符、换行符… 不要
否则它就会破裂。

Using Plugins

每个内置插件都包含一个 自述文件,记录下来。此自述文件应显示别名(如果插件
添加任何)和该特定插件中包含的额外好东西。

Themes

我们会承认这一点。在 Oh My Zsh 世界的早期,我们可能有点太喜欢主题了。我们有超过一个
现在捆绑了一百五十个主题。他们中的大多数人都有
screenshots 在 wiki 上(我们正在努力更新它!
看看它们!

Selecting A Theme

Robby 的主题是默认主题。这不是最奇特的。这不是最简单的。恰到好处
一个(对他来说)。

找到要使用的主题后,您需要编辑 ~/.zshrc 文件。你会看到一个
环境变量(全部大写),如下所示:

1
ZSH_THEME="robbyrussell"

To use a different theme, simply change the value to match the name of your desired theme. 例如:

1
2
ZSH_THEME="agnoster" # (this is one of the fancy ones)

[!NOTE]
You will many times see screenshots for a zsh theme, and try it out, and find that it doesn’t look the same for you.

This is because many themes require installing a Powerline Font or a
Nerd Font 以便正确渲染。没有它们,这些主题
will render weird prompt symbols. Check out
the FAQ 了解更多
information.

Also, beware that themes only control what your prompt looks like. This is, the text you see before or after
your cursor, where you’ll type your commands. Themes don’t control things such as the colors of your
terminal window (known as 配色方案) 或终端的字体。这些是您可以设置的
change in your terminal emulator. For more information, see
what is a zsh theme.

打开一个新的终端窗口,您的提示应该如下所示:

Agnoster theme

如果您没有找到适合您需求的主题,请查看 wiki
more of them.

如果您感觉精力充沛,您可以让计算机在每次打开新
终端窗口。

1
ZSH_THEME="random" # (...please let it be pie... please be some pie..)

如果您想从您最喜欢的主题列表中随机选择一个主题:

1
2
3
4
ZSH_THEME_RANDOM_CANDIDATES=(
  "robbyrussell"
  "agnoster"
)

如果您只知道不喜欢哪些主题,则可以将它们添加到忽略列表中:

1
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)

FAQ

如果您还有其他疑问或问题,您可以在我们的
FAQ.

Advanced Topics

如果你是那种喜欢亲自动手的人,这些部分可能会引起共鸣。

Advanced Installation

Some users may want to manually install Oh My Zsh或 change the default path or other settings that the
安装程序接受(这些设置也记录在安装脚本的顶部)。

Custom Directory

默认位置为 ~/.oh-my-zsh (隐*在您的主目录中,您可以使用
cd ~/.oh-my-zsh)

如果您想使用 ZSH 环境变量,通过运行
export ZSH=/your/path 安装之前,或者在安装管道结束之前设置它,如下所示:

1
ZSH="$HOME/.dotfiles/oh-my-zsh" sh install.sh

Unattended Install

如果您将 Oh My Zsh 安装脚本作为自动安装的一部分运行,则可以将
--unattended 标志添加到install.sh 脚本。这将产生不尝试更改默认值的效果
shell 的 shell,它也不会运行 zsh 安装完成后。

如果您在中国、印度或其他阻止的国家/地区 raw.githubusercontent.com,您可能不得不
将 URL 替换为 https://install.ohmyz.sh 以便安装。

Installing From A Forked Repository

安装脚本还接受以下变量以允许安装不同的存储库:

  • REPO (默认值:ohmyzsh/ohmyzsh):这采用 owner/repository.如果设置此变量,
    the installer will look for a repository at https://github.com/{owner}/{repository}.

  • REMOTE (default: https://github.com/${REPO}.git):这是 git 存储库克隆的完整 URL。你
    can use this setting if you want to install from a fork that is not on GitHub (GitLab, Bitbucket…) or if
    you want to clone with SSH instead of HTTPS (git@github.com:user/project.git).

    注意:它与将 REPO 变量。此设置将优先。

  • BRANCH (default: master):如果要将默认分支更改为
    checked out when cloning the repository. This might be useful for testing a Pull Request, or if you want to
    use a branch other than master.

For example:

1
REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh

Manual Installation

1. 克隆存储库
2. 选择、备份现有的 ~/.zshrc 文件
1
cp ~/.zshrc ~/.zshrc.orig
3. 创建一个新的 Zsh 配置文件

您可以通过复制我们为您提供的模板来创建新的 zsh 配置文件。

1
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
4. 更改默认 Shell
1
chsh -s $(which zsh)

您必须从用户会话注销并重新登录才能看到此更改。

5. 初始化您的新 Zsh 配置

Once you open up a new terminal window, it should load zsh with Oh My Zsh’s 配置。

Installation Problems

如果您在安装时遇到任何问题,这里有一些常见的修复方法。

  • You might 需要修改您的PATH in ~/.zshrc 如果您在之后找不到某些命令
    switching to oh-my-zsh.
  • 如果您手动安装或更改了安装位置,请检查 ZSH 环境变量
    ~/.zshrc.

Custom Plugins And Themes

如果要覆盖任何默认行为,只需添加一个新文件(结尾为 .zsh) 在 custom/
目录。

如果你有许多功能可以很好地搭配在一起,你可以把它们放成一个 XYZ.plugin.zsh 文件中的
custom/plugins/ 目录,然后启用此插件。

如果您想覆盖与 Oh My Zsh 一起分发的插件的功能,请创建一个
相同的名称 custom/plugins/ 目录,它将被加载而不是plugins/.

Enable GNU ls In macOS And freeBSD Systems

Oh My Zsh 中的默认行为是使用 BSD ls 在 macOS 和 FreeBSD 系统中。如果 GNUls is installed
(作为 gls 命令),您可以选择使用它。为此,您可以在之前使用 zstyle 的 config
采购 oh-my-zsh.sh:

1
zstyle ':omz:lib:theme-and-appearance' gnu-ls yes

注意:这与 DISABLE_LS_COLORS=true

Skip Aliases

如果您想跳过默认的 Oh My Zsh 别名(在 lib/* files)或插件别名,您可以使用
您的 ~/.zshrc 文件在加载 Oh My Zsh 之前.请注意,有很多不同的
跳过别名的方法,具体取决于您的需要。

1
2
3
4
5
6
7
8
9
10
11
12
# Skip all aliases, in lib files and enabled plugins
zstyle ':omz:*' aliases no
 
# Skip all aliases in lib files
zstyle ':omz:lib:*' aliases no
# Skip only aliases defined in the directories.zsh lib file
zstyle ':omz:lib:directories' aliases no
 
# Skip all plugin aliases
zstyle ':omz:plugins:*' aliases no
# Skip only the aliases from the git plugin
zstyle ':omz:plugins:git' aliases no

您可以以其他方式组合这些内容,同时考虑到更具体的作用域优先:

1
2
3
# Skip all plugin aliases, except for the git plugin
zstyle ':omz:plugins:*' aliases no
zstyle ':omz:plugins:git' aliases yes

此功能的早期版本使用以下设置,该设置已被删除:

1
zstyle ':omz:directories' aliases no

相反,您现在可以使用以下内容:

1
zstyle ':omz:lib:directories' aliases no

通知

This feature is currently in a testing phase and it may be subject to change in the future. It is also not
currently compatible with plugin managers such as zpm or zinit, which don’t source the init script
(oh-my-zsh.sh) 中实现了此功能。

It is also not currently aware of “aliases” that are defined as functions. Example of such are gccd,
ggf, or ggl 函数。

Async git prompt

异步提示函数是一项实验性功能(包含在 2024 年 4 月 3 日),允许 Oh My Zsh 渲染
异步提示信息。这可以提高提示呈现性能,但可能效果不佳
有一些设置。我们希望这不是问题,但如果您发现此新功能有问题,您可以
在获取 Oh My Zsh 之前,通过在 .zshrc 文件中设置以下内容将其关闭:

1
zstyle ':omz:alpha:lib:git' async-prompt no

如果你的问题是 git 提示符刚刚停止出现,你可以尝试通过设置以下命令来强制它
配置之前 oh-my-zsh.sh 来源。如果它仍然不起作用,请打开一个问题
箱。

1
zstyle ':omz:alpha:lib:git' async-prompt force

Getting Updates

默认情况下,系统将提示您每 2 周检查一次更新。您可以通过以下方式选择其他更新模式
~/.zshrc file, before Oh My Zsh is loaded:

  1. 自动更新,无确认提示:

    1
    zstyle ':omz:update' mode auto
  2. 如果有可用更新,只需每隔几天提供一次提醒:

    1
    zstyle ':omz:update' mode reminder
  3. 要完全禁用自动更新,请执行以下作:

    1
    zstyle ':omz:update' mode disabled

注意:您可以使用以下设置控制 Oh My Zsh 检查更新的频率:

1
2
3
4
# This will check for updates every 7 days
zstyle ':omz:update' frequency 7
# This will check for updates every time you open the terminal (not recommended)
zstyle ':omz:update' frequency 0

Updates Verbosity

您还可以使用以下设置限制更新详细程度:

1
2
3
4
5
zstyle ':omz:update' verbose default # default update prompt
 
zstyle ':omz:update' verbose minimal # only few lines
 
zstyle ':omz:update' verbose silent # only errors

Manual Updates

如果您想在任何时间点更新(也许有人刚刚发布了一个新插件,而您不想更新
等一个星期?你只需要运行:

1
omz update

[!NOTE]
If you want to automate this process in a script, you should call directly the upgrade 脚本,如下所示:

1
$ZSH/tools/upgrade.sh

看见 more options in the FAQ: How do I update Oh My Zsh?.

用途 omz update --unattended 已被删除,因为它有副作用.

魔法!🎉

Uninstalling Oh My Zsh

Oh My Zsh 并不适合所有人。我们会想念你,但我们希望让这成为一次轻松的分手。

如果要卸载 oh-my-zsh,只需运行 uninstall_oh_my_zsh 从命令行。它将删除
本身并恢复您之前的 bash or zsh configuration.

How Do I Contribute To Oh My Zsh?

在您参与我们令人愉快的社区之前,请阅读 code of conduct.

我远非 Zsh 专家和怀疑有很多方法可以改进——如果你
对如何使配置更易于维护(和更快)有想法,请毫不犹豫地分叉并发送
拉取请求!

我们还需要人们来测试拉取请求。所以看一看
the open issues 并尽可能地提供帮助。

See Contributing 了解更多详情。

Do Not Send Us Themes

我们暂时有(超过)足够的主题。请将您的主题添加到
external themes wiki 页面。

Contributors

Oh My Zsh 拥有一个充满活力的社区,由快乐的用户和令人愉快的贡献者组成。没有所有的时间和帮助
从我们的贡献者那里,它不会那么棒。

非常感谢!

Follow Us

我们在社交媒体上:

  • @ohmyzsh 在 X(以前称为 Twitter)上。你应该遵循它。
  • Facebook 戳我们。
  • Instagram 在您的帖子中标记我们,显示 Oh My Zsh!
  • Discord 和我们聊天!

Merchandise

我们有
stickers, shirts, and coffee mugs available
让你炫耀你对 Oh My Zsh 的热爱。再次,您将成为全城的话题!

License

Oh My Zsh 在 MIT license.

About Planet Argon

Planet Argon

Oh My Zsh 是由团队发起的 Planet Argon, a
Ruby on Rails development agency.
查看我们的 other open source projects.

免责声明 © 2025 - 虚宝阁

本站部分源码来源于网络,版权归属原开发者,用户仅获得使用权。依据《计算机软件保护条例》第十六条,禁止:

  • 逆向工程破解技术保护措施
  • 未经许可的分发行为
  • 去除源码中的原始版权标识

※ 本站源码仅用于学习和研究,禁止用于商业用途。如有侵权, 请及时联系我们进行处理。

侵权举报请提供: 侵权页面URL | 权属证明模板

响应时效:收到完整材料后48小时内处理

相关推荐

simple-git Node.js 中简单易用的Git操作神器

Simple-Git 是一个基于 Node.js 的库,它为开发者提供了一种简单而直观的方式来执行 Git 命令。通过使用 Simple-Git,你可以在 Node.js 应用程序中轻松地执行诸如提交、推送、拉取等操作,而无需手动执行 Git 命令行。

3734 2025-09-13

pansou: 全网网盘搜索神器

PanSou是一款高性能的网盘资源搜索API服务,支持TG频道和插件搜索。系统设计以性能和可扩展性为核心,支持多频道多插件并发搜索、结果智能排序和网盘类型分类。docker集成前后端,一键启动,开箱即用。 https://so.252035.xyz/

7411 2025-09-28

fastapi: Python web api 框架

一个基于 Python 3.6+ 版本的异步 WEB 应用框架,使用 Python 类型注解构建 web API 。主要特点有: 高性能:与 Node JS 和 Go 相当。 编码快:将开发功能的速度提高 2~3 倍。 Bug少:减少大约 40% 的由开发人员导致的错误。 直观:强大的编辑器支持,可智能感知和补全代码。 简单:易于学习和使用,减少文档阅读时间。 简短:尽量减少代码重复。 健壮:获得可用于生产的代码,具有自动交互文档。 基于标准:基于 OpenAPI 和 JSON Schema 。

90539 2025-09-16

markdown-it

markdown-it是一款快速且易扩展的Markdown解析器,遵循CommonMark规范并添加语法扩展。它配置灵活、速度快且安全,还有丰富的社区插件。

20415 2025-09-09

NBlog: 开源博客系统

一个前后端分离的开源博客系统,基于 Spring Boot + Vue 技术栈开发,界面清新简洁,拥有多个丰富的博客组件,自带管理后台。

2636 2025-09-16

node-qrcode

qr code generator

7955 2025-10-17

OpenIsle- 轻量级的Java开源社区系统

这是一个基于 Spring Boot 和 Vue3 构建的开源自由社区系统,定位为轻量级的 Discourse。它完全开源、可二次开发,支持白名单邀请、自定义标签、实时通知等功能。

393 2025-09-13

经典中文DOS游戏资源库

如果你对上个世纪 9 0年代的经典中文 DOS 游戏,诸如《仙剑奇侠传》、《金庸群侠传》、《大富翁》等充满怀念,这个开源项目绝对是一个宝。目前它已经汇集了惊人的 1898款 中文DOS游戏,堪称目前网络上最全的同类合集之一。 你只需在电脑上安装 Python 3,然后在项目目录下运行 python download_data.py 这个命令。脚本会根据 games.json 中的信息,自动从互联网上的可*存档源(如 Internet Archive)下载对应的游戏文件。

9756 2025-09-09

drawnix

开源白板工具(SaaS),一体化白板,包含思维导图、流程图、自由画等。All in one open-source whiteboard tool with mind, flowchart, freehand and etc.

11913 2025-08-28

Seelen-UI: 高度可定制的 Windows 桌面美化工具

一款免费开源的 Windows 桌面增强工具,专注于高度自定义和效率提升。它采用 Rust 语言开发,结合 Tauri 框架与 Web 技术,支持窗口平铺管理、应用启动器、Dock、任务栏、动态壁纸、插件扩展等功能。

13691 2025-10-04