Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Zsh 及其配置


Linux 下有很多 Shell,最常见的是 Bash,此外还有 Zsh、csh、ksh。推荐使用 Zsh。

Zsh 有如下特点:

安装 Zsh

在终端键入 zsh --version,若显示 Zsh 版本号,则表示 Zsh 已安装。否则需要安装 Zsh。

自 macOS Catalina(10.15)开始,macOS 系统默认的 Shell 已由 Bash 变为 Zsh。

Linux 用户可以使用如下命令安装 Zsh:

Fedora
CentOS
Ubuntu/Debian
$ sudo dnf install zsh

通过如下命令设置默认 Shell 为 Zsh:

$ chsh -s $(which zsh)

chsh 命令修改的是登陆 Shell,因而需要退出当前用户并重新登陆, 用户的默认 Shell 就从 Bash 变成 Zsh 了。打开新的终端并键入 echo $SHELL,查看当前 Shell,会显示 /bin/zsh

chsh: command not found 错误

若出现 chsh: command not found 错误,则需要安装 util-linux-user:

Fedora
CentOS
$ sudo dnf install util-linux-user

Zsh 的配置文件为 ~/.zshrc。因而切换到 Zsh 后, 所有的 Shell 配置都不用写到 ~/.bashrc,而要写到 ~/.zshrc 中。

Oh My Zsh

Zsh 稍作配置会更加方便好用。Oh My Zsh 是由 Oh My Zsh 社区 维护的一套 Zsh 配置文件,使用起来非常方便。一般用户直接使用该配置即可。

安装 Oh My Zsh:

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

该命令会创建 ~/.oh-my-zsh 目录,下载 Oh My Zsh 到该目录下,生成默认的 Zsh 配置文件 ~/.zshrc,并备份老的配置到类似 ~/.zshrc.pre-oh-my-zsh 的文件中。

之后可以根据个人习惯修改配置文件 ~/.zshrc,如设置主题启用插件 等。

设置主题

修改配置文件 ~/.zshrc 中的变量 ZSH_THEME 即可使用不同的主题。例如, 可以设置:

ZSH_THEME="bira"

打开新的终端即可查看主题效果。

Oh My Zsh 自带了很多主题,位于 ~/.oh-my-zsh/themes 目录下,可以在线预览主题效果。 用户也可以使用外部主题

启用插件

直接修改配置文件 ~/.zshrc 中的变量 plugins 便可启用插件:

plugins=(
  sudo
  extract
  autojump
  zsh-autosuggestions
  zsh-syntax-highlighting
)

Oh My Zsh 自带了很多插件,位于 ~/.oh-my-zsh/plugins 目录下,也可以在线查询。 这里推荐几个常用的自带插件。

除了 Oh My Zsh 自带的插件,还可以使用第三方插件,只需提前安装即可。这里推荐几个常用的。

从 Bash 迁移到 Zsh

Linux 下通常使用 Bash 作为默认 Shell,因而很多软件的配置信息都会写在 Bash 配置文件 ~/.bashrc 中。将默认 Shell 切换到 Zsh 后,还需要将 Bash 配置文件中的软件配置迁移到 Zsh 中。

由于 Zsh 兼容 Bash 语法,对于大多数软件的配置,都可以直接从 ~/.bashrc 复制粘贴到 ~/.zshrc 中。

对于 Anaconda/Miniconda 用户,需要在 Bash 环境中重新执行 conda 初始化设置,即:

# 进入 bash 环境
$ bash
# 在 bash 环境下执行 conda 初始化
$ conda init zsh
# 返回 zsh 环境
$ exit