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]
$

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容