以iTerm 2 + oh-my-zsh + Powerline打造加強版Terminal

OS X內建的Terminal雖然可用,但對於整天以指令為生的程式設計師來說,功能實在太過陽春。

iTerm2是OS X上加強版的Terminal,搭配on-my-zsh shell與Powerline主題之後,將可打造一個全功能的Terminal,支援多tab、ls檔案目錄顏色、git狀態、Laravel artisan指令補全…等。

Version


iTerm 2 Build 2.0

安裝iTerm 2


iTerm2是一個open source terminal,用來取代OS X內建的終端機。

下載後解壓縮,放到應用程式下即可。

安裝on-my-zsh


oh-my-zsh是一套Zsh shell管理工具,會幫我們從內建的Bash改成Zsh。

1
$ curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

若看到以下畫面,表示oh-my-zsh已經安裝成功。

安裝Powerline主題


Powerline是一套架構在on-my-zsh上的主題。

1
2
3
$ git clone git://github.com/jeremyFreeAgent/oh-my-zsh-powerline-theme ~/.ohmyzsh-powerline
$ cd .ohmyzsh-powerline/
$ ./install_in_omz.sh

將oh-my-zsh主題改成Powerline


1
2
$ cd ~
$ vim .zshrc

將ZSH_THEME=”robbyrussell”修改成ZSH_THEME=”powerline”。

存檔後,重新啟動iTerm2。

目前看起來有點怪,因為powerline主題使用了其它字體,接下來將安裝字型修正。

安裝Powerline專屬字型


Powerline fonts是針對powerline主題所修正過的字型。因為powerline在提示字元與git用了一些特殊符號。

1
2
3
$ git clone git://github.com/powerline/fonts ~/.powerline_fonts
$ cd ~/.powerline_fonts
$ ./install.sh

當如下圖出現All Powerline fonts installed to /Users/oomusou/Library/Fonts,表示安裝成功。

設定iTerm2字型


iTerm -> Preferences -> Profile -> Text
修改Regular FontNon-ASCII Font :

選擇等寬字,有for Powerline的字型都可以使用,推薦使用Source Code Pro (Adobe的)與Ubuntu Mono,這兩個字型都相當適合寫程式使用。

選對字型後,Powerline theme就正常了。

設定提示字元


Powerline主題預設會如上圖一樣,顯示usernamehostname日期,並且只顯示目前路徑。

若你跟我一樣不想顯示這些資訊,且想顯示完整路徑的話,請依照以下方式設定。

修改.zshrc

1
$ vim ~/.zshrc

在第1行加上

1
2
3
POWERLINE_HIDE_HOST_NAME="true"
POWERLINE_DISABLE_RPOMPT="true"
POWERLINE_FULL_CURRENT_PATH="true"

修改powerline.zsh-theme

1
$ vim ~/.ohmyzsh-powerline/powerline.zsh-theme

將此行改成以下所示

1
PROMPT="%k%f%F{white}%K{blue}"$POWERLINE_CURRENT_PATH"%F{blue}"$POWERLINE_GIT_INFO_LEFT" %k"$'\ue0b0'"%f "

iTerm2重新啟動後,我們會發現iTerm2的hostname不見了,路徑為完整路徑,且也有了彩色。

只有這樣子還無法顯示iTerm2的威力,我們來看一下它對git的支援。

白色部分會顯示目前在哪一個branch,並且還有搭配特殊符號顯示目前git狀態。

Conclusion


  • iTerm2還有很多進階的功能,目前只是將其基礎環境與git支援設定好。