200字
安装 OhMyZsh + Spaceship 美化终端控制台
2026-02-10
2026-03-15

安装 OhMyZsh + Spaceship 美化终端控制台

Oh My Zsh 是一款基于 Zsh 的命令行框架,它整合了大量实用插件、主题以及便捷功能,能极大提升终端的使用效率与美观度。无论是开发人员还是日常终端用户,都能通过它获得更流畅的命令行体验。从环境准备开始,逐步完成 Oh My Zsh 的安装、基础配置、插件使用及主题优化。

效果预览

安装 Zsh

Oh My Zsh 依赖 Zsh 环境,因此首先要确认系统中是否已安装 Zsh,若未安装则需先完成安装。

检查 Zsh 是否安装及版本

打开终端,输入以下命令:


zsh --version 

安装 Zsh(Arch为例)

Arch 系统通过 pacman 包管理器安装 Zsh:


sudo pacman -S zsh

将 Zsh 设置为默认 Shell

安装完成后,输入以下命令将 Zsh 设为默认 Shell,重启终端生效:


chsh -s $(which zsh)

安装 Oh My Zsh

Oh My Zsh 提供了两种简单的安装方式,推荐使用 curl 或 wget 命令:

通过 curl 安装


sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

通过 wget 安装


sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

安装过程说明

执行安装命令后,终端会提示是否确认安装,输入 y 回车即可。安装完成后,终端会自动切换到 Oh My Zsh 环境,界面会显示 Oh My Zsh 的 Logo 及基础信息。

若安装过程中出现“网络连接失败”,可尝试更换网络或者代理,或手动下载安装脚本后执行。

安装 Spaceship 主题

Spaceship 是一款轻量、高颜值的 Oh My Zsh 主题,支持多语言版本、Git 状态、电池信息等丰富模块,安装步骤:

克隆仓库

执行以下命令克隆 Spaceship 仓库到 Oh My Zsh 自定义主题目录:


# Clone this repo
git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1

创建符号链接

将主题文件链接到 Oh My Zsh 自定义主题目录(便于识别调用):


# Symlink to your oh-my-zsh custom themes directory
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"

对于 Arch 系列系统,除了上述手动克隆安装方式外,还可通过 Yay(常用 AUR 助手)快速安装 Spaceship 主题,无需手动克隆与创建链接,命令如下:


yay -S spaceship-prompt

安装 Yay 后,可直接通过 yay -S spaceship-prompt 快速安装 Spaceship 主题,后续还能通过 yay -Sua 一键更新主题及其他 AUR 包。

安装的时候会输出以下信息,上面提示:需要手动添加 source /usr/lib/spaceship-prompt/spaceship.zsh .zshrc中。


:: 进行安装吗? [Y/n]  
(1/1) 正在检查密钥环里的密钥                                  [##################################] 100% 
(1/1) 正在检查软件包完整性                                    [##################################] 100% 
(1/1) 正在加载软件包文件                                      [##################################] 100% 
(1/1) 正在检查文件冲突                                        [##################################] 100% 
(1/1) 正在检查可用存储空间                                    [##################################] 100% 
:: 正在处理软件包的变化... 
(1/1) 正在安装 spaceship-prompt                               [##################################] 100% 
Add this line to your .zshrc to enable spaceship: 
  source /usr/lib/spaceship-prompt/spaceship.zsh 
:: 正在运行事务后钩子函数... 
(1/1) Arming ConditionNeedsUpdate...

其他系统和其他的安装方式请参考 Spaceship 官方文档,以获取最新安装说明、高级配置教程:https://spaceship-prompt.sh/getting-started/

Oh My Zsh 配置

Oh My Zsh 的所有配置都集中在用户主目录下的 .zshrc 文件中,后续的插件启用、主题更换等操作都需修改该文件。这是一份我自用的,适配 spaceship 主题的.zshrc 配置,可直接替换或参考修改:


export ZSH="$HOME/.oh-my-zsh"

# ZSH_THEME="spaceship"

# 配置 spaceship-prompt
SPACESHIP_PROMPT_ORDER=(
  user          # 用户名
  host          # 主机名
  dir           # 当前目录
  time          # 时间
  git           # Git 信息
  node          # Node.js 版本
  package       # 包信息
  exec_time     # 命令执行时间
  battery       # 电池状态
  exit_code     # 退出代码
  char          # 提示符字符
)

# 时间设置
SPACESHIP_TIME_SHOW=true
SPACESHIP_TIME_FORMAT="%D{%H:%M:%S}"
SPACESHIP_TIME_COLOR="yellow"

# 用户设置 - 配置为显示前缀[
SPACESHIP_USER_SHOW=always
SPACESHIP_USER_COLOR="green"
SPACESHIP_USER_SUFFIX=""

# 主机设置 - 配置为显示@和后缀]
SPACESHIP_HOST_SHOW=always
SPACESHIP_HOST_COLOR="magenta"
SPACESHIP_HOST_PREFIX="@"
SPACESHIP_HOST_SUFFIX=" : "

# 目录设置
SPACESHIP_DIR_SHOW=true
SPACESHIP_DIR_TRUNC=3
SPACESHIP_DIR_COLOR="cyan"
SPACESHIP_DIR_PREFIX=""  # 设为空字符串移除"in"
SPACESHIP_DIR_SUFFIX=" "

# Git 设置
SPACESHIP_GIT_SHOW=true
SPACESHIP_GIT_PREFIX="on "
SPACESHIP_GIT_SUFFIX=" "
SPACESHIP_GIT_BRANCH_COLOR="blue"
SPACESHIP_GIT_STATUS_COLOR="red"
SPACESHIP_GIT_STATUS_UNTRACKED="?"
SPACESHIP_GIT_STATUS_ADDED="+"
SPACESHIP_GIT_STATUS_MODIFIED="!"
SPACESHIP_GIT_STATUS_RENAMED="»"
SPACESHIP_GIT_STATUS_DELETED="✘"
SPACESHIP_GIT_STATUS_STASHED="$"
SPACESHIP_GIT_STATUS_UNMERGED="="
SPACESHIP_GIT_STATUS_AHEAD="⇡"
SPACESHIP_GIT_STATUS_BEHIND="⇣"
SPACESHIP_GIT_STATUS_DIVERGED="⇕"

# 语言环境设置
SPACESHIP_NODE_SHOW=true
SPACESHIP_NODE_COLOR="green"
SPACESHIP_NODE_PREFIX="using "
SPACESHIP_NODE_SUFFIX=" "
SPACESHIP_NODE_SYMBOL="⬢ "

# 提示符字符设置
SPACESHIP_DIR_SHOW=true
SPACESHIP_CHAR_SYMBOL="$ "
SPACESHIP_CHAR_PREFIX="\n"
SPACESHIP_CHAR_COLOR_SUCCESS="green"
SPACESHIP_CHAR_COLOR_FAILURE="red"
SPACESHIP_CHAR_COLOR_SECONDARY="yellow"

# 退出代码设置
SPACESHIP_EXIT_CODE_SHOW=true
SPACESHIP_EXIT_CODE_SYMBOL="✘ "

# 电池状态设置
SPACESHIP_BATTERY_SHOW=always
SPACESHIP_BATTERY_THRESHOLD=10
SPACESHIP_BATTERY_COLOR_CHARGING="green"
SPACESHIP_BATTERY_COLOR_CHARGED="green"
SPACESHIP_BATTERY_COLOR_DISCHARGING="yellow"
SPACESHIP_BATTERY_SYMBOL_CHARGING="↑"
SPACESHIP_BATTERY_SYMBOL_CHARGED="●"
SPACESHIP_BATTERY_SYMBOL_DISCHARGING="↓"

# 命令执行时间设置
SPACESHIP_EXEC_TIME_SHOW=true
SPACESHIP_EXEC_TIME_PREFIX="took "
SPACESHIP_EXEC_TIME_SUFFIX=" "
SPACESHIP_EXEC_TIME_COLOR="yellow"
SPACESHIP_EXEC_TIME_THRESHOLD=500
SPACESHIP_EXEC_TIME_FORMAT="%dms"

# 插件
plugins=(
  git
  zsh-autosuggestions        # 自动补全
  zsh-syntax-highlighting    # 语法高亮
)

source $ZSH/oh-my-zsh.sh
# 使用包管理器安装需要加上
source /usr/lib/spaceship-prompt/spaceship.zsh

配置文件可直接覆盖或追加到 ~/.zshrc 中:


# 备份原.zshrc文件(可选但推荐)
cp ~/.zshrc ~/.zshrc.bak

# 使用vim打开文件,将上述完整配置粘贴进去并保存
vim ~/.zshrc

# 或使用VS Code打开文件
code ~/.zshrc

新配置立即生效并重启 Zsh 进程,确保所有配置彻底加载:


source ~/.zshrc && exec zsh

评论