Oh My Zsh —— 强大而美观的终端,你值得拥有


欢迎大家关注我的个人博客【数洞】 【备用站】


小时候看黑客帝国,电影中那一串串各种颜色的数字迅速滚动过屏幕,哇,好酷。

然而后来接触到真实的终端时,才发现这个黑底白字的东西这么枯燥乏味,探索计算机世界的兴趣之火简直就要被浇灭了,说好的狂拽酷炫呢?

事实上,大多数的终端都是高度支持自定义的,只要你爱折腾,你可以让它随心所欲地变化,要实现电影中的效果也并非不可。

然而电影效果终究是电影效果,我们在实际的工作和学习中需要的是一个高效、美观的终端,而不是一个单纯用来“装 Bi”(这个Bi是和谐音,只是恰巧跟你脑子里想的那个读音重合了)的外壳。

我们知道,现在最流行的shellbash,绝大多数的Linux预装且保持默认的正是它。其他流行的shell还包括shcshkshtcshdash等,而今天我们的主角,则是zsh以及基于zsh的定制版oh-my-zsh


一、安装

zsh是一个支持高度个性化的shell,但是从零开始进行配置需要花费大量的时间,因此让很多程序员望而却步。同时有些人可能担心有些bash命令在zsh下得不到支持,这一点大家可以放心,根据我平时的经验,绝大多数bash下的操作在zsh下都可以被很好地支持,兼容度极高。

1. 安装zsh

目前来看,并不是所有的Linux发行版会预装zsh,因此我们可以先检查下我们的系统里是否包含它:

# dain @ localhost in ~ [14:00:29]
$ whereis zsh
/bin/zsh

# dain @ localhost in ~ [14:00:34]
$ which zsh
/bin/zsh

whereiswhich命令都能满足我们的要求,可以看到,我的Mac里已经存在了zsh,如果没有的话,我们就需要安装下zsh

在Mac下:

# dain @ localhost in ~ [14:00:36]
$ brew install zsh

在CentOS下:

# dain @ localhost in ~ [14:00:50]
$ sudo yum install zsh

在Ubuntu和Debian下:

# dain @ localhost in ~ [14:01:00]
$ sudo apt install zsh

在Arch和Majaro下:

# dain @ localhost in ~ [14:01:15]
$ sudo pacman -S zsh

不出意外,我们的zsh应该就安装好了。我们可以查看下版本:

# dain @ localhost in ~ [14:06:08]
$ zsh --version
zsh 5.3 (x86_64-apple-darwin17.0)

在Mac下,需要我们先保证HomeBrew已经安装,大家可以自行搜索安装。

2. 安装git

安装Oh My Zsh之前,我们还要保证git已经安装:

# dain @ localhost in ~ [14:08:38]
$ whereis git
/usr/bin/git

# dain @ localhost in ~ [14:08:33] C:129
$ git --version
git version 2.17.1 (Apple Git-112)

如果尚未安装git则需要进行安装:

在Mac下:

# dain @ localhost in ~ [14:00:36]
$ brew install git

在CentOS下:

# dain @ localhost in ~ [14:00:50]
$ sudo yum install git

在Ubuntu和Debian下:

# dain @ localhost in ~ [14:01:00]
$ sudo apt install git

在Arch和Majaro下:

# dain @ localhost in ~ [14:01:15]
$ sudo pacman -S git

3. 安装Oh My Zsh

Oh My Zsh相当于是一个提供了预设个性化配置的zsh,我们可以使用curl或者wget下载安装脚本并执行:

# dain @ localhost in ~ [14:09:07]
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# dain @ localhost in ~ [14:15:14] 
$ sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

不是所有的系统或发行版都预装了wget,所以使用curl是一个比较保险的方式。

二、配置

1. 默认shell修改

我们要将zsh修改为我们的默认shell

# dain @ localhost in ~ [14:30:22]
$ chsh -s /bin/zsh
Changing shell for dain.
Password for dain:
chsh: no changes made

因为我的默认shell已经是zsh,所以这里的输出可能跟你的不太一样。

2. 主题配置

可能会有很多人建议下载PowerlinePowerFonts,使用agnoster主题,我最初也是这一套配置方案,然而后来我发现了一个更好的方案,只需要几秒钟即可搞定。

那就是ys主题。使用这一主题不需要任何额外的配置,只需要打开我们的~/.zshrc文件,将主题修改为ys即可:

# 找到如下这一行,将引号中的部分修改为`ys`即可
ZSH_THEME="ys"

最终实现的效果如下图,包含了用户、Host、工作目录、时间选项,并且另起一行用于用户输入,在输出结果的末尾也会加一行空行,同时还搭配了美观的配色。这一方案可以轻易地将多次的输入输出分开,不会让用户产生混淆,使用这一方案,在翻阅历史输入输出时会特别高效,当然,上述的Powerline方案也可以实现这一目标,只是其配置相对于这一方案复杂了许多。

# dain @ localhost in ~ [14:30:17] C:130
$ echo "Hello World"

Hello World

# dain @ localhost in ~ [14:30:22]
$

当然,主题这种东西也不光是看是否高效,还得考虑个人习惯以及个人审美风格,因此大家完全可以考虑不同的主题和配置方案,网上有丰富的教程指导,这一过程不会太过不愉快。

好了,到此为止,我们的终端就配置好了,快去享用它吧!

你可能感兴趣的:(工欲善其事)