Zsh 简明教程

Zsh 简明教程

如果你是一名开发者,每天恐怕有大量时间要花在终端(Terminal)里。

大多数 Linux 系统和早期的 macOS 默认使用的 Shell 是 Bash。它虽然通用,但显得不够现代:自动补全不够智能、语法高亮缺失、配置繁琐。

今天要介绍的是 Zsh(Z Shell)。

它被称为 "终极 Shell",兼容 Bash,但提供了更强大的功能。从 macOS Catalina 开始,Zsh 已经成为了 Mac 的默认 Shell。

本文介绍如何快速上手 Zsh,以及如何通过 Oh My Zsh 让它变得极其好用。

一、 安装 Zsh

查看你的系统当前使用的 Shell,可以运行下面的命令:

echo $SHELL

如果输出 /bin/zsh,说明你已经在使用 Zsh 了。如果不是,你需要先安装它。

macOS

macOS 预装了 Zsh。如果你想安装最新版,可以使用 Homebrew:

brew install zsh

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install zsh

Linux (CentOS/RHEL)

sudo yum install zsh

安装完成后,需要将 Zsh 设置为默认 Shell:

chsh -s $(which zsh)

重启终端,你应该就能进入 Zsh 了。

二、 安装 Oh My Zsh

光有 Zsh 还不够,它的默认配置依然很简陋。Zsh 的真正威力在于它的生态系统。

Oh My Zsh 是一个开源的社区驱动框架,用来管理 Zsh 的配置。它提供了数千个插件和主题。

安装非常简单,运行下面的一行代码(需要 curl 或 wget):

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

安装完成后,你的终端提示符应该已经变了,看起来更丰富多彩。

Zsh 的配置文件位于用户主目录下的 .zshrc 文件中。

vim ~/.zshrc

三、 常用配置与插件

Oh My Zsh 的核心在于 Plugins(插件)Themes(主题)

3.1 修改主题

打开 .zshrc,找到 ZSH_THEME 这一行。

默认主题是 robbyrussell。如果你喜欢带有更多信息的(比如完整路径、Git 状态),推荐使用 ys 或者 agnoster

# 修改为 ys 主题
ZSH_THEME="ys"

修改后,执行 source ~/.zshrc 生效。

3.2 必备插件

Oh My Zsh 默认启用了 git 插件(提供大量 Git 别名)。为了提高效率,我推荐安装以下两个 "杀手级" 插件。

1. zsh-autosuggestions (自动建议)

当你输入命令时,它会根据历史记录自动以灰色字体提示后续内容,按 键即可补全。

安装:

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

2. zsh-syntax-highlighting (语法高亮)

命令输入正确显示绿色,错误显示红色,防止手误。

安装:

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

启用插件

编辑 .zshrc,找到 plugins=(...) 这一行,将新插件加入括号中(注意插件名之间用空格分隔,不要用逗号):

plugins=(
  git
  zsh-autosuggestions
  zsh-syntax-highlighting
  z
)

注:z 是 Oh My Zsh 内置插件,用于快速跳转到访问过的目录,无需额外安装。

保存后,再次运行 source ~/.zshrc

四、 常用操作清单

Zsh 大部分操作与 Bash 兼容,但它在导航缩写上做了大量优化。

以下是 Zsh 最常用的快捷操作:

场景 命令/快捷键 说明 示例
智能补全 Tab 强大的补全,不只是文件名,还支持参数 输入 git c 按 Tab,自动列出 checkout/commit 等
历史搜索 Ctrl + r 交互式搜索历史命令 按下后输入关键词,回车执行
路径别名 .. 返回上一级目录(等同 cd .. 直接输入 ..
多级跳转 ... / .... 返回上两级 / 上三级目录 直接输入 ...
快速跳转 d 列出最近访问过的目录栈,按数字跳转 输入 d,然后输入 1 跳转到列表1的目录
模糊跳转 z [关键词] 跳转到包含关键词的历史目录(需启用 z 插件) z work 可能跳转到 /home/user/code/workspace
后缀别名 alias -s 针对文件后缀定义打开方式 alias -s py=vim,输入 a.py 直接用 vim 打开
通配符 ** 递归匹配子目录 ls **/*.log 列出当前及子目录下所有 log 文件

五、 结语

工具的选择,往往决定了效率的上限。

Zsh 配合 Oh My Zsh,能够极大地提升命令行操作的体验。一旦习惯了它的智能补全和跳转功能,你就很难再回得去 Bash 了。

更多高级用法,可以参考以下链接。

参考链接

posted @ 2026-01-11 12:05  thxis0  阅读(3)  评论(0)    收藏  举报