本不想寫這篇文章的,因為在Linux下已經配置過很多次,想着mac應該找篇文章一次就搞定了,結果還是踩坑,看了很多文章,不是某一點沒不清楚,就是截圖有問題或者命令有問題,官網又難得找等等…花了3個多小時才搞定,所以,還是來總結一篇文章就能夠搞定的教程。
為什么要用zsh?用了這么多年的bash,不能說bash不好,不過當我用了zsh后發現,什么叫更好用。
配置過程稍微有點繁瑣,但是你看過效果圖后,或許就有動力配置了,誰說程序員不講究外觀?
本文默認你的系統已經安裝好git,curl和wget,如果沒安裝可能需要從xcode裝起。
效果圖
工具准備
- iTerm2:替代OSX自帶終端的軟件,相信我,一定比自帶終端好用得多得多。
- zsh:聽說zsh是OSX上最強大的shell,沒有之一,於是我深陷其中。
- oh-my-zsh:,但是配置過程較為復雜,這個腳本能夠幫你一鍵配置。用來管理 zsh的配置,同時還有很多社區貢獻的主題配置以及好用的插件可供使用,非常好用。
- Powerline:基於oh-my-zsh的主題和字體。這個屬於資源類,並不完全是工具,但哪個工具敢說自己不需要字體?
步驟預覽:
- 安裝 iTerm2
- 在 iTerm2 下配置 Solarized Dark Higher Contrast 配色方案
- 安裝配置 zsh
- 安裝 oh-my-zsh
- 安裝 powerlevel9k 主題
- 安裝 powerline 字體
1.安裝iTerm2
官網下載地址:http://iterm2.com/,這個不用多說,雙擊安裝即可。
2.在 iTerm2 下配置 Solarized Dark Higher Contrast 配色方案
首先,打開 配色方案地址。然后,將內容復制並保存為文件:
SolarizedDarkHigherContrast.itermcolors
(注意后綴,OSX會自作聰明的加.xml,先保存,再點擊重命名刪除.xml即可)
然后雙擊即可安裝。
其次,安裝完后打開 iTerm2 終端,依次在菜單欄選擇:iTerm2 –> Preferences –> Profiles –> Colors –> Colors Presets –> SolarizedDarkHigherContrast。
到此,配色方案成功安裝。
3.安裝與配置zsh
1、確認是否安裝過zsh:
zsh --version
- 1
輸出如下:
zsh 5.3 (x86_64-apple-darwin17.0)
- 1
說明Mac已經預裝了。如果沒有安裝,使用pip或brew安裝即可,非常簡單。
2、確認當前shell:
echo $SHELL
- 1
如果不是/bin/zsh
,則用需要修改:
chsh -s /bin/zsh
#或
sudo chsh -s /bin/zsh
- 1
- 2
- 3
但是,這里我並沒有成功! 查詢oh-my-zash主頁發現安裝zsh使用chsh是有部分系統會失敗,需要使用別的辦法:
export SHELL=/bin/zsh
exec /bin/zsh -l
- 1
- 2
這樣就能成功的看見/bin/zsh
了。
4.安裝 oh-my-zsh
使用curl命令安裝:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
- 1
使用wget安裝:
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
- 1
5.安裝 powerlevel9k 主題
git下載主題並拷貝到自定義主題文件夾下:
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
- 1
修改 ~/.zshrc 配置文件,配置如下:
ZSH_THEME="powerlevel9k/powerlevel9k"
- 1
到此,我們可以重新打開終端看看效果了。
可這么長的命令提示符一點都不美觀!
接下來就來,簡單定制下 powerlevel9k 主題(更深度的定制,可參看customizing-prompt-segments)
技巧1:修改命令提示符
默認的命令提示符為 user@userdemackbookPro,這樣的提示符配合 powerlevel9k 主題太過冗長,因此我們選擇將該冗長的提示符去掉,在 ~/.zshrc 配置文件后面追加如下內容:
#注意:DEFAULT_USER 的值必須要是系統用戶名才能生效
DEFAULT_USER="user"
- 1
- 2
技巧2:簡化左右側元素顯示
默認的 powerlevel9k 主題最右側顯示的元素為:每條命令的執行狀態,歷史命令條數,當前時間,這樣也比較冗余。我在這里將 歷史命令條數 這一元素去掉,這樣看起來比較簡潔。這需要修改 ~/.zshrc 配置文件,在后面追加如下內容,定制該主題的顯示元素:
# 設置 oh-my-zsh powerlevel9k 主題左邊元素顯示
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir rbenv vcs)
# 設置 oh-my-zsh powerlevel9k 主題右邊元素顯示
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs time)
- 1
- 2
- 3
- 4
技巧3:設置語法高亮
這里會用到一個插件叫:zsh-syntax-highlighting,可以使終端輸入的命令有語法高亮效果,安裝方法如下:
1、git下載並拷貝到oh-my-zsh的插件 :
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
- 1
2.修改配置文件~/.zshrc :
# 注意:zsh-syntax-highlighting 必須放在最后面(官方推薦)
plugins=( [plugins...] zsh-syntax-highlighting)
- 1
- 2
3.激活配置文件 ~/.zshrc :
source ~/.zshrc
- 1
技巧4:關於oh-my-zsh 插件
關於 oh-my-zsh 插件的管理是很簡單的,有兩個插件目錄:
- /Users/user/.oh-my-zsh/plugins: oh-my-zsh :官方插件目錄,該目錄已經預裝了很多實用的插件,只不過沒激活而已,需要參看官方目錄來開啟。
- /Users/user/.oh-my-zsh/custom/plugins :oh-my-zsh 第三方插件目錄;
只需要把插件下載到上面任何一個目錄即可,然后在 ~/.zshrc 配置文件中的 plugins 變量中添加對應插件的名稱即可,
plugins=(
git
extract
z
zsh-syntax-highlighting
)
- 1
- 2
- 3
- 4
- 5
- 6
- git:oh-my-zsh 默認開啟的;
- extract:通用的解壓縮插件,可以解壓縮任何后綴的壓縮文件,使用方法很簡單:x 文件名;
- z:能進入之前進入過的目錄,通過模糊匹配來進入目錄,很好用。
但是, 這時的插件是沒有生效的,如圖:
因為還差一步,激活oh-my-sh,打開~/.zshrc追加:
export ZSH=/Users/你的用戶名/.oh-my-zsh #或者別的你的oh-my-zsh安裝目錄
source $ZSH/oh-my-zsh.sh
- 1
- 2
重新激活配置文件:
source ~/.zshrc
- 1
這時,使用命令才算成功,如圖:
但!還沒有完!你一定看到那個糟心的?號了。
6.安裝 powerline 字體
好了,這時可以來解決?號的問題了,如圖:
powerline的問號就是因為字體沒安裝,而且注意不只是安裝字體就行了,需要配置iTerm2。
首先,git下載並執行install.sh腳本安裝:
git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts
- 1
- 2
- 3
- 4
- 5
其次,打開iTerm2,按照路徑打開:iTerm2 –> Preferences –> Profiles –> text,找到Font處,如圖:
最后,這時的字體不是為powerline所支持的,需要點擊Change Font選擇有for powerline字樣的字體,並勾選Use a different font for non-ASCII text,同樣更改,才能生效更改后如圖:
重啟iTerm2,到此,大功告成。
再也不用擔心輸命令時,長時間對着枯燥的界面了。
坑是基本填完了,如果還有遺漏,歡迎大家補充指正了。