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

545 阅读4分钟

1 基本介绍

1.1 Oh-My-Zsh 是什么

  • Oh-My-Zsh 是一款社区驱动的命令行工具,正如它的主页上说的,Oh-My-Zsh 是一种生活方式。它基于 zsh 命令行,提供了主题配置,插件机制,已经内置的便捷操作。给我们一种全新的方式使用命令行;
  • Oh-My-Zsh 是基于 zsh 命令行的一个扩展工具集,提供了丰富的扩展功能;
  • 安装 Oh-My-Zsh 前提条件:必须已安装 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 curl
sudo apt install zsh -y
  • 设置终端
chsh -s /bin/zsh

2.2 安装 oh-my-zsh

官网: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
  • 编辑 ~/.zshrc 文件,将 ZSH_THEME 设为 haoomz。当然你也可以设置为其他主题,例如lukerandallrobbyrussell
vim ~/.zshrc

ZSH_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
  • zsh-autosuggestions 是一个命令提示插件,当你输入命令时,会自动推测你可能需要输入的命令,按下右键可以快速采用建议。效果如下:

202401012250028

  • 安装方式:把插件下载到本地的 ~/.oh-my-zsh/custom/plugins 目录。
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
4.1.2 zsh-syntax-highlighting
  • zsh-syntax-highlighting 是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色。效果如下:

202401012252786

  • 安装方式:把插件下载到本地的 ~/.oh-my-zsh/custom/plugins 目录。
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
  • oh-my-zsh 内置了 z 插件。z 是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。效果如下:

使用z跳转目录

4.1.4 extract
  • oh-my-zsh 内置了 extract 插件。extract 用于解压任何压缩文件,不必根据压缩文件的后缀名来记忆压缩软件。使用 x 命令即可解压文件,效果如下:

202401012259966

4.1.5 web-search
  • oh-my-zsh 内置了 web-search 插件。web-search 能让我们在命令行中使用搜索引擎进行搜索。使用搜索引擎关键字+搜索内容 即可自动打开浏览器进行搜索。效果如下:

4.2 启用插件

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

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

202401012304774

source ~/.zshrc