如果你还在使用默认的 Bash 终端,那可能错过了许多提升生产力的神器。本文将手把手带你安装、配置 Zsh 及 Oh My Zsh,并集成美观的主题和实用的插件,让你的终端焕然一新。


前言

Zsh(Z Shell)是 Bash 的现代替代品,拥有更丰富的自动补全、拼写纠正、主题定制等功能。而 Oh My Zsh 则是社区最受欢迎的 Zsh 配置管理框架,提供了海量插件和主题,让配置变得极其简单。本文将面向 Linux 用户(Ubuntu/Debian/Fedora/Arch)提供完整步骤。


安装 Zsh

系统要求

  • Linux 操作系统(本文以 Ubuntu 20.04/22.04 为例,其他发行版类似)
  • 拥有 sudo 权限
  • 稳定的网络连接(用于下载插件和字体)

安装命令

Ubuntu / Debian

1
2
sudo apt update && sudo apt upgrade -y
sudo apt install zsh git curl wget fontconfig -y

Fedora

1
2
sudo dnf update -y
sudo dnf install zsh git curl wget fontconfig -y

Arch Linux

1
sudo pacman -S zsh git curl wget

验证并切换默认 Shell

查看 Zsh 版本:

1
zsh --version

将默认 Shell 切换为 Zsh:

1
chsh -s $(which zsh)

注意:切换后需要注销当前会话并重新登录(或重启终端),新打开的终端才会默认使用 Zsh。

首次启动 Zsh 会出现配置向导,选择 0 并回车即可跳过(后续会通过 Oh My Zsh 覆盖配置)。


安装 Oh My Zsh

使用官方安装脚本一键安装:

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

安装过程中会询问是否将 Zsh 设置为默认 Shell,输入 Y 确认。安装完成后,~/.zshrc 配置文件会自动生成,默认主题为 robbyrussell


安装 Powerlevel10k 主题

Powerlevel10k 是 Oh My Zsh 最流行的主题,速度极快且高度可定制,支持丰富的状态提示和图标。

安装必要字体

Powerlevel10k 依赖 Nerd Font 显示特殊符号,推荐安装 JetBrainsMono Nerd Font Mono

下载 Powerlevel10k

1
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

修改主题配置

编辑 ~/.zshrc

1
nano ~/.zshrc

找到 ZSH_THEME="robbyrussell" 一行,替换为:

1
ZSH_THEME="powerlevel10k/powerlevel10k"

保存后执行 source ~/.zshrc,首次加载会自动弹出 Powerlevel10k 配置向导,按提示选择你喜欢的外观风格即可。如果之后想重新配置,随时运行:

1
p10k configure

安装实用插件

Oh My Zsh 自带 git 等基础插件,但以下第三方插件能大幅提升使用体验。

zsh-autosuggestions(命令自动建议)

根据历史记录实时提示你可能要输入的命令,按 键补全。

1
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

zsh-syntax-highlighting(语法高亮)

输入命令时,合法命令显示为绿色,非法命令显示为红色,非常直观。

1
git clone https://github.com/zsh-users/zsh-syntax-highlighting ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

重要:该插件必须放在 plugins 列表的最后一位,否则会影响其他插件功能。

zsh-autocomplete(智能补全)

快速、上下文感知的命令补全,按 Tab 即可展示候选列表。

1
git clone --depth 1 -- https://github.com/marlonrichert/zsh-autocomplete.git $ZSH_CUSTOM/plugins/zsh-autocomplete

其他推荐插件(可选)

插件名称 功能说明
colored-man-pages 彩色 man 手册页,更清晰
history-substring-search 按上下键搜索历史命令(类似 fish)
zsh-completions 额外命令补全定义
extract 一键解压各种压缩包

启用插件与配置更新

编辑 ~/.zshrc,将 plugins=(git) 修改为:

1
2
3
4
5
6
7
8
9
plugins=(
git
zsh-autosuggestions
zsh-autocomplete
colored-man-pages
history-substring-search
zsh-completions
zsh-syntax-highlighting # 必须放在最后
)

保存后重新加载配置:

1
source ~/.zshrc

此时插件应全部生效,你可以输入 git st 测试 Git 别名是否正常工作。


个性化进阶设置

增加历史记录容量

~/.zshrc 末尾添加:

1
2
HISTSIZE=10000
SAVEHIST=10000

记录历史命令时间戳

1
echo 'HIST_STAMPS="yyyy-mm-dd"' >> ~/.zshrc

自定义别名

创建独立文件 ~/.zshrc.local 存放个人别名,避免与主配置混淆:

1
2
3
echo 'alias ll="ls -al"' >> ~/.zshrc.local
echo 'alias gs="git status"' >> ~/.zshrc.local
echo 'alias python="python3"' >> ~/.zshrc.local

并在 ~/.zshrc 末尾添加:

1
[ -f ~/.zshrc.local ] && source ~/.zshrc.local

一键安装脚本(自动化方案)

如果你不想手动一步步操作,可以使用社区一键脚本(需谨慎,建议先阅读源码):

1
curl -fsSL https://raw.githubusercontent.com/joytianya/install-zsh/main/install-zsh.sh | bash

该脚本会依次完成 Zsh、Oh My Zsh、Powerlevel10k 及常用插件的安装。


常见问题与排错

Q1:终端仍然显示 Bash,而非 Zsh?

  • 检查是否执行了 chsh 并重新登录。
  • 部分终端模拟器(如 GNOME Terminal)可能默认使用自己的 Shell 设置,请检查“首选项”→“命令”中的启动 Shell 路径。

Q2:Powerlevel10k 显示乱码或方块?

  • 确认终端字体已设置为 MesloLGS NF
  • 确认字体已下载并执行 fc-cache -f -v 更新缓存。
  • 若仍不行,可尝试重新安装字体或使用其他 Nerd Font。

Q3:插件没有生效?

  • 确认插件已正确克隆到 ~/.oh-my-zsh/custom/plugins/ 目录。
  • 检查 ~/.zshrc 中的 plugins 列表拼写是否正确。
  • 执行 source ~/.zshrc 或重新打开终端。

Q4:如何切换回 Bash?

1
chsh -s /bin/bash

注销重新登录即可。


目录结构一览

路径 说明
~/.zshrc Zsh 主配置文件
~/.oh-my-zsh/ Oh My Zsh 核心目录
~/.oh-my-zsh/themes/ 自带主题
~/.oh-my-zsh/custom/plugins/ 用户自定义插件
~/.oh-my-zsh/custom/themes/ 用户自定义主题
~/.p10k.zsh Powerlevel10k 主题配置文件

结语

至此,你已经拥有一个美观、高效的 Zsh 终端环境。Powerlevel10k 提供了丰富的状态信息(Git 分支、时间、目录等),而自动建议和语法高亮将极大减少输入错误。如果你有任何问题或改进建议,欢迎在评论区交流。

Happy Coding! 🎉