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 主要特性包括:
- 自动补全:非常强大的自动补全功能,可以自动补全文件名、命令、参数等。
- 拼写校正:可以自动纠正命令和文件名的拼写错误。
- 高级脚本功能:支持复杂的脚本编写,包括数组、正则表达式、递归等。
- 命令历史记录:可以保存和搜索以前执行过的命令。
- 主题和插件系统:可以通过 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/。 安装方式任选一个即可。
Method | Command |
---|---|
curl | sh -c "$(curl -fsSL https://install.ohmyz.sh/)" |
wget | sh -c "$(wget -O- https://install.ohmyz.sh/)" |
fetch | sh -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
中
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
。当然你也可以设置为其他主题,例如lukerandall
、robbyrussell
。
vim ~/.zshrcZSH_THEME="haoomz"source ~/.zshrc
- 重新打开终端即可生效
3.2 推荐主题
你可以在内置主题样式截图中查看所有 zsh 内置的主题样式和对应的主题名。这些内置主题已经放在 ~/.oh-my-zsh/themes 目录下,不需要再下载。
cd ~/.oh-my-zsh/themes && ls
根据 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 是一个命令提示插件,当你输入命令时,会自动推测你可能需要输入的命令,按下右键可以快速采用建议。效果如下:
- 安装方式:把插件下载到本地的
~/.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 是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色。效果如下:
- 安装方式:把插件下载到本地的
~/.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
是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。效果如下:
4.1.4 extract
oh-my-zsh
内置了extract
插件。extract
用于解压任何压缩文件,不必根据压缩文件的后缀名来记忆压缩软件。使用x
命令即可解压文件,效果如下:
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)
source ~/.zshrc