TANKENQI.cn

June 30, 2024

Zsh 安装与配置,使用 Oh-My-Zsh 美化终端

Terminal3.2 min to read

1 基本介绍

1.1 Oh-My-Zsh 是什么

1.2 Zsh 是什么

Zsh,全称为 Z Shell,是一种强大的 Unix Shell 和命令行解释器。它是 **Bourne Shell(sh)**的扩展,结合了很多其他 Shell(如 Bash、Korn Shell、Tcsh 等)的功能。Zsh 主要特性包括:

  1. 自动补全:非常强大的自动补全功能,可以自动补全文件名、命令、参数等。
  2. 拼写校正:可以自动纠正命令和文件名的拼写错误。
  3. 高级脚本功能:支持复杂的脚本编写,包括数组、正则表达式、递归等。
  4. 命令历史记录:可以保存和搜索以前执行过的命令。
  5. 主题和插件系统:可以通过 Oh-My-Zsh 等工具方便地管理主题和插件,增强 Shell 的功能和美观。

Zsh 适用于需要高度定制化和高效命令行操作的用户。许多开发者和系统管理员喜欢使用 Zsh,因为它可以大大提高工作效率。

2 环境配置

2.1 安装 Zsh

# 更新软件源sudo apt update && sudo apt upgrade -y# 安装 zsh git curlsudo apt install zsh -y
chsh -s /bin/zsh

2.2 安装 oh-my-zsh

官网:http://ohmyz.sh/。 安装方式任选一个即可。

MethodCommand
curlsh -c "$(curl -fsSL https://install.ohmyz.sh/)"
wgetsh -c "$(wget -O- https://install.ohmyz.sh/)"
fetchsh -c "$(fetch -o - https://install.ohmyz.sh/)"
国内 curl 镜像sh -c "$(curl -fsSL https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"
国内 wget 镜像sh -c "$(wget -O- https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"

注意:同意使用 Oh-my-zsh 的配置模板覆盖已有的 .zshrc,因此如果原本的 .zshrc 或者 .bashrc 等环境变量的配置需要提前备份,然后重新添加到新的 .zshrc

202401012224221-min

3 配置主题

3.1 自定义主题

sudo wget -O $ZSH_CUSTOM/themes/haoomz.zsh-theme https://cdn.haoyep.com/gh/leegical/Blog_img/zsh/haoomz.zsh-theme
vim ~/.zshrcZSH_THEME="haoomz"source ~/.zshrc

202401012235958

3.2 推荐主题

你可以在内置主题样式截图中查看所有 zsh 内置的主题样式和对应的主题名。这些内置主题已经放在 ~/.oh-my-zsh/themes 目录下,不需要再下载。

cd ~/.oh-my-zsh/themes && ls

202401012242407

根据 What’s the best theme for Oh My Zsh? 中的排名,以及自定义化、美观程度,强烈建议使用 powerlevel10k 主题。

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k# 中国用户可以使用 gitee.com 上的官方镜像加速下载git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

~/.zshrc 设置 ZSH_THEME="powerlevel10k/powerlevel10k"。接下来,终端会自动引导你配置 powerlevel10k

4 安装插件

oh-my-zsh 已经内置了 git 插件,内置插件可以在 ~/.oh-my-zsh/plugins 中查看,下面介绍一下我常用的插件,更多插件可以在 awesome-zsh-plugins 里查看。

4.1 插件推荐

4.1.1 zsh -autosuggestions

202401012250028

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

202401012252786

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

使用z跳转目录

4.1.4 extract

202401012259966

4.2 启用插件

修改~/.zshrc中插件列表为:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting z extract web-search)

202401012304774

source ~/.zshrc