Oh My Zsh —— 強(qiáng)大而美觀的終端,你值得擁有

小時(shí)候看黑客帝國,電影中那一串串各種顏色的數(shù)字迅速滾動(dòng)過屏幕,哇,好酷。

然而后來接觸到真實(shí)的終端時(shí),才發(fā)現(xiàn)這個(gè)黑底白字的東西這么枯燥乏味,探索計(jì)算機(jī)世界的興趣之火簡直就要被澆滅了,說好的狂拽酷炫呢?

事實(shí)上,大多數(shù)的終端都是高度支持自定義的,只要你愛折騰,你可以讓它隨心所欲地變化,要實(shí)現(xiàn)電影中的效果也并非不可。

然而電影效果終究是電影效果,我們?cè)趯?shí)際的工作和學(xué)習(xí)中需要的是一個(gè)高效、美觀的終端,而不是一個(gè)單純用來“裝 Bi”(這個(gè)Bi是和諧音,只是恰巧跟你腦子里想的那個(gè)讀音重合了)的外殼。

我們知道,現(xiàn)在最流行的shellbash,絕大多數(shù)的Linux預(yù)裝且保持默認(rèn)的正是它。其他流行的shell還包括sh、cshksh、tcshdash等,而今天我們的主角,則是zsh以及基于zsh的定制版oh-my-zsh


歡迎大家關(guān)注我的個(gè)人博客【數(shù)洞】 【備用站】

一、安裝

zsh是一個(gè)支持高度個(gè)性化的shell,但是從零開始進(jìn)行配置需要花費(fèi)大量的時(shí)間,因此讓很多程序員望而卻步。同時(shí)有些人可能擔(dān)心有些bash命令在zsh下得不到支持,這一點(diǎn)大家可以放心,根據(jù)我平時(shí)的經(jīng)驗(yàn),絕大多數(shù)bash下的操作在zsh下都可以被很好地支持,兼容度極高。

1. 安裝zsh

目前來看,并不是所有的Linux發(fā)行版會(huì)預(yù)裝zsh,因此我們可以先檢查下我們的系統(tǒng)里是否包含它:

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

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

whereiswhich命令都能滿足我們的要求,可以看到,我的Mac里已經(jīng)存在了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應(yīng)該就安裝好了。我們可以查看下版本:

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

在Mac下,需要我們先保證HomeBrew已經(jīng)安裝,大家可以自行搜索安裝。

2. 安裝git

安裝Oh My Zsh之前,我們還要保證git已經(jīng)安裝:

# 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則需要進(jìn)行安裝:

在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相當(dāng)于是一個(gè)提供了預(yù)設(shè)個(gè)性化配置的zsh,我們可以使用curl或者wget下載安裝腳本并執(zhí)行:

# 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 -)"

不是所有的系統(tǒng)或發(fā)行版都預(yù)裝了wget,所以使用curl是一個(gè)比較保險(xiǎn)的方式。

二、配置

1. 默認(rèn)shell修改

我們要將zsh修改為我們的默認(rèn)shell

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

因?yàn)槲业哪J(rèn)shell已經(jīng)是zsh,所以這里的輸出可能跟你的不太一樣。

2. 主題配置

可能會(huì)有很多人建議下載PowerlinePowerFonts,使用agnoster主題,我最初也是這一套配置方案,然而后來我發(fā)現(xiàn)了一個(gè)更好的方案,只需要幾秒鐘即可搞定。

那就是ys主題。使用這一主題不需要任何額外的配置,只需要打開我們的~/.zshrc文件,將主題修改為ys即可:

# 找到如下這一行,將引號(hào)中的部分修改為`ys`即可
ZSH_THEME="ys"

最終實(shí)現(xiàn)的效果如下圖,包含了用戶、Host、工作目錄、時(shí)間選項(xiàng),并且另起一行用于用戶輸入,在輸出結(jié)果的末尾也會(huì)加一行空行,同時(shí)還搭配了美觀的配色。這一方案可以輕易地將多次的輸入輸出分開,不會(huì)讓用戶產(chǎn)生混淆,使用這一方案,在翻閱歷史輸入輸出時(shí)會(huì)特別高效,當(dāng)然,上述的Powerline方案也可以實(shí)現(xiàn)這一目標(biāo),只是其配置相對(duì)于這一方案復(fù)雜了許多。

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

Hello World

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

當(dāng)然,主題這種東西也不光是看是否高效,還得考慮個(gè)人習(xí)慣以及個(gè)人審美風(fēng)格,因此大家完全可以考慮不同的主題和配置方案,網(wǎng)上有豐富的教程指導(dǎo),這一過程不會(huì)太過不愉快。

好了,到此為止,我們的終端就配置好了,快去享用它吧!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容