一、zsh是什么
zsh是一个兼容bash的shell,相较bash具有以下优点:
1.tab补全功能强大。命令、命令参数、文件路径均可以补全。
2.插件丰富。快速输入以前使用过的命令、快速跳转文件夹、显示系统负载这些都可以通过插件实现。
3.主题丰富。
4.可定制性高。
二、安装zsh
sudo zypper in zsh
三、oh my zsh
(一)oh my zsh是什么
默认的zsh配置有点麻烦,因此一个叫robbyrussell的人在GitHub上制作了一个配置文件 Oh My Zsh ,这是目前为止最流行的zsh配置
(二)安装oh my zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
安装过程中会询问是否将默认shell切换到zsh,输入y同意
(三)zsh配置文件的位置
用户配置 全局配置 配置用途
~/.zshenv /etc/zsh/zshenv 变量
~/.zshrc /etc/zsh/zshrc shell个性化配置
~/.zlogin /etc/zsh/zlogin 设置登录项,先全局,再用户
~/.zlogout /etc/zsh/zlogout 设置登出项,先用户,再全局
~/.zprofile /etc/zsh/zprofile 类似zlogin,但优先级较高
优先级顺序,从高到低:.zshenv→[.zprofile if login]→[.zshrc if interactive]→[.zlogin if login]→[.zlogout some times]
(四)Oh My Zsh的其他操作
卸载:
uninstall_oh_my_zsh
更新:
upgrade_oh_my_zsh
四、配置zsh
(一)修改主题
vi ~/.zshrc
ZSH_THEME字段就是主题,例如修改为ys,改成random表示随机主题。
修改完执行
source ~/.zshrc
主题文件在两个位置,内置主题在~/.oh-my-zsh/themes目录,自定义主题在~/.oh-my-zsh/custom/themes目录
自定义主题需要自己下载
(二)安装插件
oh-my-zsh已经内置了git插件,内置插件可以在 ~/.oh-my-zsh/plugins 中查看
要启用插件,打开~/.zshrc,plugins字段就是启用的插件,以空格分隔,括号包围
1、zsh-autosuggestions
zsh-autosuggestions是一个命令提示插件,当你输入命令时,会自动推测你可能需要输入的命令,按下右键可以快速补全命令。
安装步骤:
(1)把插件下载到本地的 ~/.oh-my-zsh/custom/plugins 目录:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
(2)在 .zshrc 中,把 zsh-autosuggestions 加入插件列表:
plugins=(zsh-autosuggestions)
(3)开启新的Shell或执行 souce ~/.zshrc,就可以开始体验插件。
2、zsh-syntax-highlighting
zsh-syntax-highlighting 是一个命令语法校验插件,在输入命令的过程中,若指令不合法,则指令显示为红色,若指令合法就会显示为绿色。
安装步骤:
(1)把插件下载到本地的 ~/.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
(2)在 .zshrc 中,把 zsh-syntax-highlighting 加入插件列表:
plugins=(zsh-autosuggestions zsh-syntax-highlighting)
(3)开启新的Shell或执行 souce ~/.zshrc,就可以开始体验插件了。
3、z
z是一个文件夹快捷跳转插件,对于曾经跳转过的目录,只需要输入最终目标文件夹名称,就可以快速跳转,避免再输入长串路径,提高切换文件夹的效率。
用法:输入z,然后再输入目录名,然后再按tab。
安装步骤:
(1)由于oh-my-zsh内置了z插件,所以只需要在 .zshrc 中,把z加入插件列表:
plugins=(zsh-autosuggestions zsh-syntax-highlighting z)
(2)开启新的Shell或执行 souce ~/.zshrc,就可以开始体验插件了。
4、git
可以使用缩写来输入git指令。查看所有缩写:
cat ~/.oh-my-zsh/plugins/git/git.plugin.zsh
安装:
plugins=(zsh-autosuggestions zsh-syntax-highlighting z git)
五、使用zsh
(一)命令自动补全
1、内置自动补全功能
默认oh-my-zsh命令自动补全功能如下:
- 自动列出目录
输入cd按tab键,目录将自动列出,在按tab可以切换 - 自动目录名简写补全
要访问 /usr/local/bin 这个长路径,只需要 cd /u/l/b 按tab键自动补全 - 自动大小写更正
要访问Desktop文件夹,只需要 cd de 按tab键自动补全,或者查看README.md,只需要 cat rea 自动更正补全 - 自动命令补全
输入 kubectl 按tab键即可看到可用命令 - 自动补全命令参数
输入 kill 按tab键会自动显示出进程的process id
小技巧:
可以忽略 cd 命令,输入 .. 或者 ... 和当前目录名都可以跳转。
上述功能不需要额外的插件。
(二)常用的zsh快捷键
快捷键 | 用途 |
---|---|
ctrl + b | 向前移动光标 |
ctrl + f | 向后移动光标 |
ctrl + a | 移动光标至行首 |
ctrl + e | 移动光标至行尾 |
ctrl + d | 删除光标处字符 |
ctrl + k | 删除光标至行尾 |
ctrl + u | 删除光标至行首 |
ctrl+l(小写l) | 清屏,保留当前行 |