使用Zsh改善终端使用体验

    237

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 提供了更多的功能,如 Zsh 原生支持命令、路径补全和更强大的历史命令管理。

  • Zsh 可以通过 Oh My Zsh 这样的框架进行扩展,提供大量的插件主题

使用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中即可

zsh-plugins-config.png

更多插件可以查看官方插件列表👉https://github.com/ohmyzsh/ohmyzsh/wiki/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 即可。

消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息