使用 Zsh 替代 Bash
众所周知,Bash 几乎是所有 Linux 发行版预装的 Shell,但 Zsh 却能带给你更强大的功能。
安装
首先,执行 echo $SHELL
可以查看你当前所使用的 Shell,如果不是 Zsh,则可以接着执行 cat /etc/shells
查看你当前系统所支持的 Shell,如果里面没有 Zsh(在 macOS 中是自带 Zsh 的),则你需要下载安装 Zsh,在 Ubuntu 中,只需要 sudo apt install zsh
一条命令即可,启用也很简单,chsh -s $(which zsh)
即可(执行完此命令后通常需要重启一下才能生效),但它的配置却相当复杂,由此诞生了 Oh My Zsh 项目,该项目的主要目的是简化 Zsh 的配置。
Oh My Zsh 的官网给出了利用 curl
或 wget
安装的详细命令,具体如下:
1 | # 安装 Oh My Zsh 前需要安装 git(`sudo apt install git`) |
安装完成后,会在当前用户的家目录下生成多个隐藏文件:
其中 .zshrc
类似于 .bashrc
,存放 zsh 的配置信息;.zsh_history
类似于 .bash_history
,存放 zsh 的命令历史记录;.oh-my-zsh
的文件夹则是 Oh My Zsh 项目 GitHub 仓库的克隆版,其中的 themes
文件夹下主要存放自带的主题,plugins
文件夹下主要存放自带的插件,custom
文件夹下主要存放用户自己下载的主题和插件。
配置
Oh My Zsh 的主要配置都位于 $HOME/.zshrc
文件中,主要配置如下:
1 | # 配置主题,默认为自带的 robbyrussell 主题, |
插件
Zsh 的强大之处就在于它有相当多的插件,只需安装相关插件,并进行配置,即可体验相应功能。Oh My Zsh 安装并启用插件相当简便,所以,可把 Oh My Zsh 当成是一个 Zsh 的插件管理器。个人常用的插件如下:
git
Oh My Zsh 自带的插件,用于显示 Git 仓库的分支等信息。
z
Oh My Zsh 自带的插件,实现快速跳转到指定文件夹。
docker
Oh My Zsh 自带的插件,提供 docker 相关命令补全。
docker-compose
Oh My Zsh 自带的插件,提供 docker-compose 相关命令补全。
kubectl
Oh My Zsh 自带的插件,提供 kubectl 相关命令补全。
zsh-autosuggestions
Zsh 下的命令自动建议插件,使用如下命令即可安装:
1 | git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions |
zsh-completions
Zsh 下的命令自动补全插件,使用如下命令即可安装:
1 | git clone https://github.com/zsh-users/zsh-completions ~/.oh-my-zsh/custom/plugins/zsh-completions |
zsh-syntax-highlighting
Zsh 下的命令语法高亮插件,使用如下命令即可安装:
1 | git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting |
当安装并启用以上的所有插件后,$HOME/.zshrc
文件中插件相关配置应该是下面这样的:
1 | plugins=( |
尾巴
Oh My Zsh 自带了很多主题,在这里可以查看每个主题的显示效果,可根据自己的喜好选择合适的主题,值得注意的是,当在 $HOME/.zshrc
配置文件中将主题设置为 random
时,它每次会选择随机的主题。