增强版 bash “zsh“
zsh
(Z Shell)是 Bash 的增强版,提供了更强大的自动补全、主题定制、语法高亮等功能,尤其通过 Oh My Zsh 框架可以快速美化终端并扩展功能。以下是 Ubuntu 下配置和使用 zsh
的详细指南:
一、安装 zsh
1. 检查是否已安装
zsh --version
如果未安装,会提示 Command 'zsh' not found
。
2. 安装 zsh
sudo apt update
sudo apt install zsh
3. 验证安装
zsh --version
# 输出示例:zsh 5.8.1 (x86_64-ubuntu-linux-gnu)
二、将 zsh 设为默认 Shell
1. 确认 zsh 路径
which zsh
# 输出示例:/usr/bin/zsh
2. 修改默认 Shell
chsh -s $(which zsh)
输入当前用户密码后,需注销并重新登录或重启终端生效。
3. 验证默认 Shell
echo $SHELL
# 输出应为:/usr/bin/zsh
三、安装 Oh My Zsh(推荐)
Oh My Zsh 是一个开源框架,提供大量主题、插件和便捷配置。
1. 一键安装
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装完成后,终端会自动切换到 zsh
并显示欢迎界面。
2. 手动安装(备选)
如果网络问题导致安装失败,可手动下载:
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
source ~/.zshrc
四、配置 zsh
1. 主题定制
Oh My Zsh 默认使用 robbyrussell
主题,修改主题步骤如下:
- 编辑
~/.zshrc
:nano ~/.zshrc
- 找到
ZSH_THEME="robbyrussell"
,修改为其他主题(如agnoster
、powerlevel10k
):ZSH_THEME="agnoster" # 示例:使用 agnoster 主题
- 保存并退出(
Ctrl + O
→ 回车 →Ctrl + X
)。 - 使配置生效:
source ~/.zshrc
2. 推荐主题
- agnoster:需安装 Powerline 字体(见下文)。
- powerlevel10k:高度可定制的主题。
- 安装:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
- 在
~/.zshrc
中设置:ZSH_THEME="powerlevel10k/powerlevel10k"
- 运行配置向导:
p10k configure
- 安装:
3. 插件配置
Oh My Zsh 默认启用 git
插件,可添加更多实用插件:
-
编辑
~/.zshrc
:nano ~/.zshrc
-
找到
plugins=(git)
,修改为:plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
- 常用插件:
zsh-syntax-highlighting
:命令语法高亮。zsh-autosuggestions
:根据历史命令自动补全。extract
:一键解压各种压缩文件。colored-man-pages
:手册页彩色显示。
- 常用插件:
-
安装插件(部分插件需手动安装):
- 语法高亮和自动补全:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
- 语法高亮和自动补全:
-
使配置生效:
source ~/.zshrc
五、解决常见问题
1. 主题显示乱码(如 agnoster)
原因:缺少 Powerline 字体。
解决方案:
- 安装 Powerline 字体:
sudo apt install fonts-powerline
- 或手动安装(推荐):
- 下载字体:https://github.com/powerline/fonts
- 解压并安装:
git clone https://github.com/powerline/fonts.git cd fonts ./install.sh
- 修改终端字体:
- 打开终端设置 → 首选项 → 字体 → 选择
Powerline
字体(如Meslo LG S DZ Regular for Powerline
)。
- 打开终端设置 → 首选项 → 字体 → 选择
2. 命令补全不生效
解决方案:
- 确保插件已正确安装并启用(如
zsh-autosuggestions
)。 - 检查
~/.zshrc
中plugins
列表是否包含插件名。 - 重启终端或运行:
source ~/.zshrc
3. 回退到 Bash
如果不想使用 zsh
,可切换回 Bash:
chsh -s /bin/bash
注销后生效。
六、高级技巧
1. 自定义别名
编辑 ~/.zshrc
,在文件末尾添加别名:
alias ll='ls -alF'
alias gs='git status'
alias ga='git add .'
使配置生效:
source ~/.zshrc
2. 共享历史记录
在 ~/.zshrc
中添加:
setopt SHARE_HISTORY # 共享所有终端的历史记录
setopt INC_APPEND_HISTORY # 实时添加历史记录
setopt HIST_IGNORE_DUPS # 忽略重复命令
3. 启用通配符扩展
在 ~/.zshrc
中添加:
setopt EXTENDED_GLOB # 启用高级通配符(如 `**/*.txt`)
七、卸载 zsh 和 Oh My Zsh
1. 卸载 Oh My Zsh
uninstall_oh_my_zsh
2. 卸载 zsh
sudo apt remove zsh
3. 恢复默认 Shell
chsh -s /bin/bash
总结
- 安装 zsh:
sudo apt install zsh
+chsh -s /usr/bin/zsh
。 - 安装 Oh My Zsh:一键脚本或手动克隆。
- 主题推荐:
agnoster
或powerlevel10k
(需 Powerline 字体)。 - 插件推荐:
zsh-syntax-highlighting
、zsh-autosuggestions
。 - 故障排查:字体乱码、插件不生效等问题。
通过配置 zsh
,您可以获得更高效、美观的终端体验。如需进一步定制,可参考 Oh My Zsh 官方文档。