1.6. Zsh安装与配置(可选)¶
1.6.1. Zsh简介¶
大部分的 Linux 发行版的默认 Shell 解释器是 Bash。相比于默认的 Bash,Zsh 有更多的自定义选项,并支持扩展。因此 Zsh 可以实现更强大的命令补全,命令高亮等一系列酷炫功能。
例如 Tab 补全时大小写模糊:
例如 Tab 后,选项可以用方向键进行选择:
1.6.2. Zsh安装和配置¶
1. 安装 Zsh:
sudo apt install --no-install-recommends zsh
2. 配置 Zsh: 默认的 Zsh 配置有点麻烦。因此一个名为 robbyrussel 的用户在 GitHub 上制作了一个配置文件 oh-my-zsh,这是目前为止最流行的 Zsh 配置:
2.1 把 oh-my-zsh 项目 clone 下来
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
2.2 复制 .zshrc
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
2.3 更改默认的 Shell
chsh -s $(which zsh) # 将 Zsh 作为默认的 shell 重启系统生效
重启系统后终端变为 Zsh。
1.6.3. oh-my-zsh更新和卸载¶
安装 oh-my-zsh 后,如果在联网状态下开机,upgrade_oh_my_zsh 脚本会自动检查更新。如果有更新,打开终端后就会有提醒,是否更新:
也可以通过命令行脚本检查更新:
upgrade_oh_my_zsh # 更新 oh-my-zsh
uninstall_oh_my_zsh # 卸载 oh-my-zsh
1.6.4. oh-my-zsh安装插件¶
oh-my-zsh 的自带插件都储存在 ~/.oh-my-zsh/plugins 目录中,基本上都是 命令补全 和 命令增强。
如果想安装一个第三方插件,需要:
- 先将插件
git clone到~/.oh-my-zsh/custom/plugins目录之中:
git clone 插件github地址 ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/插件名称
- 激活插件: 需要在
~/.zshrc的plugins=(xxx xxx ...)这一行里加入插件名称,如下图所示:
推荐插件:
- zsh-syntax-highlighting : shell的语法高亮。除此之外,此插件还能够验证命令的正确性。
- zsh-autosuggestions : 根据命令的历史记录,自动提示输入提示,使用
方向右键来将建议的历史整条填充到命令行输入,或者Ctrl+方向右键填入下个字符串:
- sudo(内置) : 连按两下
Esc按键 可以在命令的头部插入sudo:
1.6.5. Zsh修改主题¶
1.6.5.1. 内置主题¶
Zsh 支持主题修改。 oh-my-zsh``内置了大量主题,存放在 ``~/.oh-my-zsh/themes 目录下。
Zsh打开 ~/.zshrc 文件,可以看到有一行为 ZSH_THEME="robbyrussell" 的脚本,如下图所示:
可以看到 Zsh 默认主题为 robbyrussell,修改该字段就可以修改主题。前往 oh-my-zsh 的 wiki 就可以看到大多数 oh-my-zsh 的内置主题以及它们的截图。
如果看中的其中的一款,可以通过修改 ~/.zshrc 中的 ZSH_THEME="xxx" 来修改主题。
1.6.5.2. 非内置主题¶
很多主题不存在于 Zsh 的内置主题之中,例如 Powerlevel10k,需要自行去了解安装和配置方法。