增强版 bash “zsh“

zsh(Z Shell)是 Bash 的增强版,提供了更强大的自动补全、主题定制、语法高亮等功能,尤其通过 Oh My Zsh 框架可以快速美化终端并扩展功能。以下是 Ubuntu 下配置和使用 zsh 的详细指南:


一、安装 zsh

1. 检查是否已安装
bash 复制代码
zsh --version

如果未安装,会提示 Command 'zsh' not found。

2. 安装 zsh
bash 复制代码
sudo apt update
sudo apt install zsh
3. 验证安装
bash 复制代码
zsh --version
# 输出示例:zsh 5.8.1 (x86_64-ubuntu-linux-gnu)

二、将 zsh 设为默认 Shell

1. 确认 zsh 路径
bash 复制代码
which zsh
# 输出示例:/usr/bin/zsh
2. 修改默认 Shell
bash 复制代码
chsh -s $(which zsh)

输入当前用户密码后,需注销并重新登录或重启终端生效。

3. 验证默认 Shell
bash 复制代码
echo $SHELL
# 输出应为:/usr/bin/zsh

三、安装 Oh My Zsh(推荐)

Oh My Zsh 是一个开源框架,提供大量主题、插件和便捷配置。

1. 一键安装
bash 复制代码
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

安装完成后,终端会自动切换到 zsh 并显示欢迎界面。

2. 手动安装(备选)

如果网络问题导致安装失败,可手动下载:

bash 复制代码
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 主题,修改主题步骤如下:

  1. 编辑 ~/.zshrc:

    bash 复制代码
    nano ~/.zshrc
  2. 找到 ZSH_THEME="robbyrussell",修改为其他主题(如 agnoster、powerlevel10k):

    bash 复制代码
    ZSH_THEME="agnoster"  # 示例:使用 agnoster 主题
  3. 保存并退出(Ctrl + O → 回车 → Ctrl + X)。

  4. 使配置生效:

    bash 复制代码
    source ~/.zshrc
2. 推荐主题
  • agnoster:需安装 Powerline 字体(见下文)。
  • powerlevel10k :高度可定制的主题。
    • 安装:

      bash 复制代码
      git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
    • 在 ~/.zshrc 中设置:

      bash 复制代码
      ZSH_THEME="powerlevel10k/powerlevel10k"
    • 运行配置向导:

      bash 复制代码
      p10k configure
3. 插件配置

Oh My Zsh 默认启用 git 插件,可添加更多实用插件:

  1. 编辑 ~/.zshrc:

    bash 复制代码
    nano ~/.zshrc
  2. 找到 plugins=(git),修改为:

    bash 复制代码
    plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
    • 常用插件 :
      • zsh-syntax-highlighting:命令语法高亮。
      • zsh-autosuggestions:根据历史命令自动补全。
      • extract:一键解压各种压缩文件。
      • colored-man-pages:手册页彩色显示。
  3. 安装插件(部分插件需手动安装):

    • 语法高亮和自动补全:

      bash 复制代码
      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
  4. 使配置生效:

    bash 复制代码
    source ~/.zshrc

五、解决常见问题

1. 主题显示乱码(如 agnoster)

原因:缺少 Powerline 字体。

解决方案:

  1. 安装 Powerline 字体:

    bash 复制代码
    sudo apt install fonts-powerline
  2. 或手动安装(推荐):

  3. 修改终端字体:

    • 打开终端设置 → 首选项 → 字体 → 选择 Powerline 字体(如 Meslo LG S DZ Regular for Powerline)。
2. 命令补全不生效

解决方案:

  1. 确保插件已正确安装并启用(如 zsh-autosuggestions)。

  2. 检查 ~/.zshrc 中 plugins 列表是否包含插件名。

  3. 重启终端或运行:

    bash 复制代码
    source ~/.zshrc
3. 回退到 Bash

如果不想使用 zsh,可切换回 Bash:

bash 复制代码
chsh -s /bin/bash

注销后生效。


六、高级技巧

1. 自定义别名

编辑 ~/.zshrc,在文件末尾添加别名:

bash 复制代码
alias ll='ls -alF'
alias gs='git status'
alias ga='git add .'

使配置生效:

bash 复制代码
source ~/.zshrc
2. 共享历史记录

在 ~/.zshrc 中添加:

bash 复制代码
setopt SHARE_HISTORY          # 共享所有终端的历史记录
setopt INC_APPEND_HISTORY    # 实时添加历史记录
setopt HIST_IGNORE_DUPS      # 忽略重复命令
3. 启用通配符扩展

在 ~/.zshrc 中添加:

bash 复制代码
setopt EXTENDED_GLOB          # 启用高级通配符(如 `**/*.txt`)

七、卸载 zsh 和 Oh My Zsh

1. 卸载 Oh My Zsh
bash 复制代码
uninstall_oh_my_zsh
2. 卸载 zsh
bash 复制代码
sudo apt remove zsh
3. 恢复默认 Shell
bash 复制代码
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 官方文档。

相关推荐
我先去打把游戏先10 小时前
NimBLE是什么-ESP32蓝牙协议栈详解
单片机·嵌入式硬件·ubuntu
xiaobobo333012 小时前
Ubuntu(26.04)最适合的简体拼音输入法以及相关安装教程
ubuntu·rime·fcitx5·最接近搜狗输入的输入法
闲云野鹤在人间13 小时前
Ubuntu 24.04 安装过程
服务器·数据库·ubuntu
十年磨一剑~13 小时前
LVDS 背光控制问题排查与 DTS 修正文档
linux·ubuntu
小草cys17 小时前
ubuntu忘记密码怎么重置
安全·ubuntu·密码重置
宋明河19 小时前
windows与ubuntu双系统主机下ubuntu访问windows磁盘是只读
linux·windows·ubuntu
cnnews1 天前
Chromebox3安装Ubuntu后内存化与最小化 eMMC 写入优化
linux·运维·ubuntu
flytalei1 天前
Ubuntu 24.04 单节点 K3s 部署实践:从环境评估到故障排查与验收
linux·运维·ubuntu
东风微鸣2 天前
一次断电引发的血案:Ubuntu 26.04 升级中断后的完整救援实录
数据库·ubuntu·postgresql
Victor Zhong2 天前
llama.cpp 部署大模型到 Ubuntu 台式机 SOP
linux·ubuntu·llama