使用Zsh改善终端使用体验
Zsh(Z Shell)和 Bash(Bourne Again Shell)都是 Linux 系统中的常用 shell 终端。
在日常的开发中需要经常与终端打交道,舒适的终端体验能显著提高开发的效率,以及改善心情。
配置命令
国内服务器
# 安装依赖
sudo apt update && sudo apt install -y curl git zsh vim
# 安装OMZ
sh -c "$(curl -fsSL https://install.ohmyz.sh)"
# 安装主题
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
sed -i 's/^ZSH_THEME.*$/ZSH_THEME="powerlevel10k\/powerlevel10k"/g' ${ZDOTDIR:-$HOME}/.zshrc
# 安装插件
sudo apt-get install zsh-syntax-highlighting zsh-autosuggestions
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
echo "source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
# 配置插件
sed -i 's/plugins=(git)/plugins=(git z history-substring-search)/g' ${ZDOTDIR:-$HOME}/.zshrc
国外服务器
# 安装依赖
sudo apt update && sudo apt install -y curl git zsh vim
# 安装OMZ
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 安装主题
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
sed -i 's/^ZSH_THEME.*$/ZSH_THEME="powerlevel10k\/powerlevel10k"/g' ${ZDOTDIR:-$HOME}/.zshrc
# 安装插件
## 代码错误检测
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 ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 配置插件
sed -i 's/plugins=(git)/plugins=(git z history-substring-search zsh-syntax-highlighting zsh-autosuggestions)/g' ~/.zshrc
Zsh 对比 Bash 的优势
使用Zsh避不开的就是Oh My Zsh框架(以下简称omz)。
配置Oh My Zsh
1. 安装依赖
sudo apt update && sudo apt install -y curl git zsh vim
安装Oh My Zsh需要保证已经安装了git、curl、vim以及zsh本体。
git用来更新omz以及插件的版本
curl用来获取omz的安装脚本
vim用来修改OMZ的配置文件
2. 安装OMZ
# 国内使用gitee项目安装
sh -c "$(curl -fsSL https://install.ohmyz.sh)"
# 国内使用github项目安装
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装可以直接使用安装脚本,由于国内GitHub连通性不佳,可以选择合适的源进行安装。
3. 配置主题和字体
powerlevel10k非常漂亮,有很多可配置项,且非常容易配置,是一款比较推荐的主题。第一次使用会弹出配置引导,后续也可以通过p10k configure
重新启动配置引导更换样式。
# 国内使用gitee安装主题
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
sed -i 's/^ZSH_THEME.*$/ZSH_THEME="powerlevel10k\/powerlevel10k"/g' ${ZDOTDIR:-$HOME}/.zshrc
# 国外使用github安装主题
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
sed -i 's/^ZSH_THEME.*$/ZSH_THEME="powerlevel10k\/powerlevel10k"/g' ${ZDOTDIR:-$HOME}/.zshrc
4. 配置插件
omz可以集成各种插件来增强命令行的使用体验,omz拥有非常庞大和活跃的社区,提供了非常多功能强大的插件。
插件的配置也相当简单,只需要将插件的名字配置在文件~/.zshrc
的plugins中即可
更多插件可以查看官方插件列表👉
我个人使用的4款插件
代码检测
zsh-syntax-highlighting可以帮助检测是否输入了正确的命令,如果命令拼写错误会标红提示。
# 国外通过github项目安装,需要将zsh-syntax-highlighting配置在plugins中
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 国内通过软件包分发安装,无需配置plugins
sudo apt-get install zsh-syntax-highlighting
echo "source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
历史命令提示
zsh-autosuggestions根据历史命令预测输入内容,支持一键补全历史命令。
# 国外通过github项目安装,需要将zsh-autosuggestions配置在plugins中
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 国内通过软件包分发安装,无需配置plugins
sudo apt-get install zsh-autosuggestions
echo "source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
历史命令查询优化
history-substring-search可以通过输入关键字后,使用↑或↓方向键却换相关的历史命令。OMZ集成,直接在plugins中添加history-substring-search
即可。
快速切换常用目录
z命令可以通过输入关键字快速切换到历史进入过的目录。OMZ集成,直接在plugins中添加z
即可。