目录
- 1. 检查是否已安装 zsh
- 2. 安装 zsh
- 3. 设置 zsh 为默认 Shell
- 4. 安装 oh-my-zsh
- 4.1 使用 curl 安装
- 4.2 使用 wget 安装(如果 curl 不可用)
- 4.3 迁移 Bash 自定义配置到 Zsh
- 打开Files并显示隐藏文件
- 复制需要的配置内容
- 粘贴到 Zsh 配置文件
- 保存并关闭文件
- 应用 Zsh 配置
- 5. 配置和美化 oh-my-zsh
- 5.1 更换主题
- 5.2 安装插件
- 5.3 安装 Powerlevel10k 主题
- 6. 安装字体以支持主题
- 6.1 安装 Nerd Fonts
- 6.2 手动安装
- 6.3 配置终端字体
- 6.4 z 插件
- 1. 启用 z 插件
- 步骤:
- 2. 使用 z 插件
- 2.1 初次使用
- 2.2 快速跳转
- 3. 高级用法
- 3.1 模糊匹配
- 3.2 显示匹配的目录列表
- 3.3 权重机制
- 4. 常见问题
- **z 不记录历史路径怎么办?**
- **如何清除历史记录?**
- `extract` 插件
- 1. 启用 `extract` 插件
- 步骤:
- 2. 使用 `extract` 插件
- 基本用法:
- 示例:
- 解压到特定目录:
- 3. `web-search` 插件
- 启用 `web-search` 插件
- 使用方法
- 示例:
- 优势总结:
基于 Ubuntu22.04 LTS 系统,安装 zsh,并使用 oh-my-zsh 对终端进行美化。更详细的教程参见https://www.haoyep.com/posts/zsh-config-oh-my-zsh/
1. 检查是否已安装 zsh
在终端中运行以下命令以检查是否已安装 zsh:
zsh --version
如果显示版本号,说明已安装。如果未安装,请执行下一步。
2. 安装 zsh
运行以下命令安装 zsh:
sudo apt update
sudo apt upgrade -y
sudo apt install zsh -y
安装完成后再次检查版本:
zsh --version
3. 设置 zsh 为默认 Shell
执行以下命令将 zsh 设置为默认 Shell:
chsh -s /bin/zsh
注意: 执行后需要注销当前用户或重新启动系统以应用更改。
4. 安装 oh-my-zsh
oh-my-zsh 是一个流行的 zsh 配置框架,可以大大提升 zsh 的功能和外观。
4.1 使用 curl 安装
运行以下命令安装 oh-my-zsh:
sh -c "$(curl -fsSL https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"
如果没有 curl
,可以通过以下命令安装:
sudo apt install curl -y
4.2 使用 wget 安装(如果 curl 不可用)
sh -c "$(wget -O- https://gitee.com/pocmon/ohmyzsh/raw/master/tools/install.sh)"
安装完成后,终端会自动切换到 oh-my-zsh 配置的 zsh 环境。
4.3 迁移 Bash 自定义配置到 Zsh
当从 Bash 切换到 Zsh 时,如果你之前在 Bash 中定义了一些环境变量、别名或函数,那么需要手动迁移这些配置到 Zsh 才能继续使用。
打开Files并显示隐藏文件
- 桌边栏打开Files。
- 按下快捷键
Ctrl+H
- 找到以下两个配置文件:
~/.bashrc
(Bash 的配置文件)~/.zshrc
(Zsh 的配置文件)
复制需要的配置内容
- 双击打开
~/.bashrc
,找到你定义的环境变量、别名或函数。 - 选中所需的部分内容,右键选择 “复制”。
粘贴到 Zsh 配置文件
- 双击打开
~/.zshrc
。 - 在适当位置(例如文件末尾)右键选择 “粘贴”。
- 根据需要整理格式,确保粘贴的内容与 Zsh 配置文件风格一致。
示例:从 Bash 文件中迁移的内容
# 从 .bashrc 中复制的环境变量
export PATH="$HOME/bin:$PATH"
export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"# 从 .bashrc 中复制的别名
alias ll='ls -la'
alias gs='git status'# 从 .bashrc 中复制的函数
mkcd() {mkdir -p "$1" && cd "$1"
}
保存并关闭文件
应用 Zsh 配置
编辑完成后,回到终端,运行以下命令加载新配置:
source ~/.zshrc
5. 配置和美化 oh-my-zsh
5.1 更换主题
oh-my-zsh 默认使用 robbyrussell
主题。可以通过以下步骤更改主题:
- 打开配置文件:
nano ~/.zshrc
- 找到以下行并修改
ZSH_THEME
:ZSH_THEME="haoomz" # 示例主题
- 保存并退出(按
Ctrl+O
保存,Ctrl+X
退出)。 - 应用更改:
source ~/.zshrc
5.2 安装插件
oh-my-zsh 提供了多种插件,例如自动补全和语法高亮。
-
打开配置文件:
nano ~/.zshrc
-
找到
plugins=()
,添加插件名称,例如:plugins=(git z zsh-autosuggestions zsh-syntax-highlighting)
-
保存并退出。
-
安装所需插件:
- zsh-autosuggestions:
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
- zsh-syntax-highlighting:
git clone https://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
- zsh-autosuggestions:
-
应用更改:
source ~/.zshrc
5.3 安装 Powerlevel10k 主题
- 克隆 Powerlevel10k 仓库:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
- 修改主题设置:
将nano ~/.zshrc
ZSH_THEME
修改为:ZSH_THEME="powerlevel10k/powerlevel10k"
- 保存并退出,然后应用更改:
source ~/.zshrc
- 重新打开终端,Powerlevel10k 会自动启动配置向导,按照提示完成配置。
6. 安装字体以支持主题
Powerlevel10k 等主题需要安装 Nerd Fonts 或 Powerline Fonts。
6.1 安装 Nerd Fonts
运行以下命令安装 Hack Nerd Font
:
sudo apt install fonts-hack-ttf -y
6.2 手动安装
访问 Nerd Fonts 官方下载页面,下载字体并安装。
6.3 配置终端字体
- 打开终端设置。
- 找到“外观”或“字体”选项。
- 更改字体为安装的 Nerd Fonts(例如 Hack Nerd Font)。
6.4 z 插件
z
是 oh-my-zsh 内置的一个文件夹快捷跳转插件,用于快速导航你访问过的目录。它通过记录历史访问路径,让你无需输入完整路径即可快速切换到目标目录,非常高效。
1. 启用 z 插件
默认情况下,oh-my-zsh 没有启用 z
插件,需要手动添加。
步骤:
-
编辑 Zsh 配置文件:
nano ~/.zshrc
-
找到插件配置行,启用
z
插件:plugins=(git z)
-
保存并退出(
Ctrl+O
保存,Ctrl+X
退出)。 -
加载新配置:
source ~/.zshrc
2. 使用 z 插件
2.1 初次使用
z
插件会在你频繁访问目录时自动记录路径。因此,初次使用时,需要先手动切换几个目录,以便 z
收集数据。例如:
cd /path/to/folder1
cd /path/to/folder2
cd /another/path/folder3
2.2 快速跳转
当你访问过某个目录后,可以使用 z
快速跳转,只需输入目录名称的一部分:
z folder1
即会跳转到 /path/to/folder1
。
如果目标名称不唯一,z
会跳转到最近访问的匹配目录。
3. 高级用法
3.1 模糊匹配
可以输入目录路径的部分关键字,z
会根据历史记录匹配。例如:
z to/folder
会跳转到路径中包含 to/folder
的目录。
3.2 显示匹配的目录列表
如果不确定目标目录,可以添加 -l
参数列出所有匹配的路径:
z -l folder
3.3 权重机制
z
会根据目录的访问频率和最近访问时间计算权重,优先跳转到权重较高的目录。
4. 常见问题
z 不记录历史路径怎么办?
确保配置文件中启用了 z
插件,并已加载新的配置:
plugins=(git z)
source ~/.zshrc
此外,确认终端会话有写权限用于记录访问历史:
ls -l ~/.z
如果文件不存在或无权限,可以手动创建:
touch ~/.z
chmod 600 ~/.z
如何清除历史记录?
如果需要清空 z
的历史记录,可以删除 ~/.z
文件:
rm ~/.z
再次启动终端,z
会重新记录历史路径。
extract
插件
extract
是 oh-my-zsh 提供的一个解压工具插件,它支持解压多种压缩格式,让你无需记忆具体解压命令(如 tar
、unzip
等),只需使用通用命令 x
或 extract
即可快速解压文件。
1. 启用 extract
插件
步骤:
-
编辑 Zsh 配置文件:
nano ~/.zshrc
-
找到插件配置行,添加
extract
插件:plugins=(git z extract)
-
保存并退出(
Ctrl+O
保存,Ctrl+X
退出)。 -
加载新配置:
source ~/.zshrc
2. 使用 extract
插件
基本用法:
extract
支持通过 x
或 extract
命令解压文件。用法如下:
x <文件名>
# 或
extract <文件名>
示例:
x archive.tar.gz
x file.zip
x data.tar.bz2
x archive.7z
支持的文件类型包括但不限于:
tar
、tar.gz
、tar.bz2
、tar.xz
zip
、rar
、7z
gz
、bz2
、xz
- 其他常见压缩格式。
解压到特定目录:
如果想解压到指定目录,可以使用 cd
进入目标目录后执行命令,或结合重定向操作:
x archive.tar.gz -C /path/to/target/directory
3. web-search
插件
web-search
插件允许你直接通过终端进行快速的在线搜索,支持多种搜索引擎。它通过配置常用搜索引擎的别名,在命令行即可发起搜索请求。
启用 web-search
插件
- 编辑 Zsh 配置文件:
nano ~/.zshrc
- 找到插件配置行,添加
web-search
插件:plugins=(git z extract web-search)
- 保存并退出,并加载新配置:
source ~/.zshrc
使用方法
默认支持以下搜索引擎,直接用命令发起搜索:
google "搜索内容"
bing "搜索内容"
duckduckgo "搜索内容"
yahoo "搜索内容"
示例:
- 在 Google 搜索:
google "oh-my-zsh plugins"
- 在 Bing 搜索:
bing "zsh terminal customization"
你还可以自定义搜索引擎,直接编辑配置文件后手动添加。
优势总结:
extract
插件:一键解压,省去记忆复杂命令的麻烦。web-search
插件:快速搜索,无需打开浏览器即可发起在线查询,提高效率。