1. 检查系统是否安装zsh
Linux/Unix提供了很多种Shell,为毛要这么多Shell?
难道用来炒着吃么?那我问你,你同类型的衣服怎么有那么多件?花色,质地还不一样。写程序比买衣服复杂多了,而且程序员往往负责把复杂的事情搞简单,简单的事情搞复杂。牛程序员看到不爽的Shell,就会自己重新写一套,慢慢形成了一些标准,常用的Shell有这么几种,sh、bash、csh等,想知道你的系统有几种shell,可以通过以下命令查看:
#方式一:
cat /etc/shells
#方式二:
zsh --version
2. 安装zsh--shell
- 如果没有/bin/zsh要先安装zsh
- centos: sudo yum install -y zsh
- ubuntu: sudo apt-get install -y zsh
- mac : mac系统自带zsh,如果想安装最新的。brew install zsh
3. 将系统默认shell更改为zsh
- 为 root 用户设置 zsh 为系统默认 shell:chsh -s /bin/zsh root
如果你要重新恢复到 bash:chsh -s /bin/bash root
4. 安装oh_my_zsh
-
如果没有git要先安装git
- centos: sudo yum install -y git
- ubuntu: sudo apt-get install -y git
- mac : brew install git
- 安装oh_my_zsh
- 整个过程如下(这个过程可能会有点慢,或者需要重试几次)
[图片上传失败...(image-12049a-1537435214405)]
5. 更改主题
- 备份已有的zshrc, 替换zshrc
cp ~/.zshrc ~/.zshrc.orig cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
- 配置主题, 可以通过修改
~/.zshrc
中的环境变量ZSH_THEME
来完成#当然这里也可以选择你喜欢的主题 ZSH_THEME="agnoster" # (this is one of the fancy ones)
- 修改之后需要重新加载一下
source ~/.zshrc
如果是mac需要额外安装配色方案和字体
-
Solarized Dark配色方案
下载完成之后解压,在iTerm2的Preferences——Profiles——colors——Load Presets——Solarized Dark即可设置终端配色 -
特殊字体安装
下载完成之后解压,执行其中的install.sh文件,在iTerm2的Preferences——Profiles——Text中同时将Regular Font和Non—ASCII Font设置为Meslo LG M DZ Regular for Powerline即可
-
Solarized Dark配色方案
6. 安装自动提示插件
- 下载插件
git clone git://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
- 配置插件, 可以通过修改
~/.zshrc
中的plugins
来完成plugins=( git zsh-autosuggestions )
- 由于自动提示的亮度太低,不容易看到,所以我们需要修改下自动提示的亮度
将这里调整为10vim ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'
- 修改之后需要重新加载一下
source ~/.zshrc
效果:
7. 高亮插件
- 下载插件
git clone git://github.com/zsh-users/zsh-syntax-highlighting ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
- 配置方式同上,高亮插件一般设置为最后一个加载的插件
8. 快捷使用方式:
-
d: 历史路径,在使用左侧路径实现快速跳转
-
r:执行上一条命令
- ctrl+r: 快速清屏,mac是command+r
- 连按两次Tab会列出所有的补全列表并直接开始选择,补全项可以使用 ctrl+n/p/f/b上下左右切换
- 在当前目录下输入 .. 或 ... ,或直接输入当前目录名都可以跳转,你甚至不再需要输入 cd 命令了。在你知道路径的情况下,比如 /usr/local/bin 你可以输入 cd /u/l/b 然后按进行补全快速输入
- 命令参数补全。键入 kill <tab> 就会列出所有的进程名和对应的进程号
- 更智能的历史命令。在用或者方向上键查找历史命令时,zsh支持限制查找。比如,输入ls,然后再按方向上键,则只会查找用过的ls命令。而此时使用则会仍然按之前的方式查找,忽略 ls
- 多个终端会话共享历史记录