前幾天發現同事的終端窗口(terminal)比較漂亮,于是我就問了一下原來是安裝了oh-my-zsh,于是趁著今天周日我就開始折騰了,現在把這個過程記錄下來分享一下。開始之前先上兩張圖來體現一下目標與現狀
這就是今天的目標,假設你不喜歡這個界面,那也沒關系,oh-my-zsh有140多個主題,任君選擇,當然你也可以定制自己的主題。
這個是我現在的終端窗口界面,好像也不難看,但是太單調了感覺。
I. 安裝oh-my-zsh
安裝是有一些先決條件的:
- Unix-like操作系統(如 macOS, Linux)
- 確保Zsh已安裝,且是v4.3.9及以上版本,可通過命令
zsh --version
確認,我現在的版本是zsh 5.2 (x86_64-apple-darwin16.0)
,如果你沒有安裝或者版本過低,請點這里 Installing ZSH - 已安裝curl或者wget(我的mac系統默認已安裝了curl)
- 已安裝git
根據你自己的情況在終端執行如下命令進行安裝:
通過 curl 安裝(我選擇的方式)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
通過 wget 安裝
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
安裝過程中有一個步驟需要輸入密碼(是切換默認shell解釋器的命令需要授權chsh -s /bin/zsh
,因為我的mac默認shell解釋器是bash,所以要切換到zsh),你可以通過cat /etc/shells
來查看你的機器安裝了哪些shell解釋器,到這oh-my-zsh安裝完成,終端界面已經發生了改變,使用了默認的主題(robbyrussell)。
II. 切換主題
使用vi編輯器打開~/.zshrc
這個文件
vi ~/.zshrc
將
ZSH_THEME="robbyrussell"
改為
ZSH_THEME="agnoster"
后保存,然后執行
source ~/.zshrc
III. 配置顏色方案
我采用的是 Solarized Dark 配色方案。
- 首先你需要Solarized下載配色方案,可以在執行如下命令通過git來下載(你也可以直接到這個網址下載你想要的文件:https://github.com/altercation/solarized)
git clone git://github.com/altercation/solarized.git
這樣在你執行這個命令的目錄就會創建一個solarized文件夾,我們要的配色方案就下載這里面,按照如下步驟導入/solarized/osx-terminal.app-colors-solarized/Solarized Dark ansi.terminal
這個文件。
導入完成之后,設置為默認的描述文件。另外還需要設置一下啟動時使用的的描述文件為“Solarized Dark ansi”,設置完成后關閉終端重新打開。
IV. 安裝Powerline字體
由于agnoster主題使用的是Powerline字體,所以我們要安裝至少一個這樣的字體庫。依次執行下面的命令即可完成安裝。
# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts
參考資料 https://github.com/powerline/fonts
V. 更改shell的字體
- 選中終端窗口,點擊左上角的 終端-->偏好設置-->描述文件-->文本-->字體,點擊更改
- 選擇一個powerline字體(我選擇的是Anonymous Pro for Powerline ,常規體,14pt)
到這里基本完成了,只是還有一些細節要修改,上一張效果圖看看
還有兩個細節需要修改
①yangsheng@yangshengdeMacBook-Pro
這個東西太長,并且沒什么用,我想把它隱藏掉。這個就要修改agnoster主題的配置文件了。打開~/.oh-my-zsh/themes/agnoster.zsh-theme
vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
找到下面的內容
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER@%m"
fi
}
將prompt_segment black default "%(!.%{%F{yellow}%}.)$USER@%m"
這一行用“#”注釋掉即可。保存后執行一下source ~/.zshrc
重新加載配置,你會發現那一串文字不見了。
②這個藍色不好,連字都看不清楚。處理這個問題前,我推薦mac用戶下載一個 iterm2(也許你會愛上它,進而拋棄terminal),下載地址 http://www.iterm2.com/downloads.html
-
下載安裝完成之后,打開它,選擇左上角的iterm2-->preferences-->Profiles-->color-->color Presets..,選擇import我們下載的配色方案
/solarized/iterm2-colors-solarized/Solarized Dark.itermcolors
導入配色方案 選擇Powerline字體(我選擇的是Anonymous Pro for Powerline ,常規體,14pt)
打開一個新的iterm2,已經實現了我們今天的目標,很帥。如果你愿意使用iterm2替代terminal,你就不用往下看了。
作為有一點強迫癥的我,現在要把 terminal 的顏色改成與 iterm2 一致。
拿著小筆盡情地吸吧,修改完成后,terminal的外觀與iterm2就一致了。關于oh-my-zsh的內容實在太多,插件、主題都比較多,后續再慢慢體會。
oh-my-zsh開源地址: https://github.com/robbyrussell/oh-my-zsh