Mac iTerm使用技巧(iTerm2 + zsh + oh-my-zsh 配置Powerline風格)


本不想寫這篇文章的,因為在Linux下已經配置過很多次,想着mac應該找篇文章一次就搞定了,結果還是踩坑,看了很多文章,不是某一點沒不清楚,就是截圖有問題或者命令有問題,官網又難得找等等…花了3個多小時才搞定,所以,還是來總結一篇文章就能夠搞定的教程。

為什么要用zsh?用了這么多年的bash,不能說bash不好,不過當我用了zsh后發現,什么叫更好用。

配置過程稍微有點繁瑣,但是你看過效果圖后,或許就有動力配置了,誰說程序員不講究外觀?

本文默認你的系統已經安裝好git,curl和wget,如果沒安裝可能需要從xcode裝起。

效果圖

這里寫圖片描述

工具准備

  1. iTerm2:替代OSX自帶終端的軟件,相信我,一定比自帶終端好用得多得多。
  2. zsh:聽說zsh是OSX上最強大的shell,沒有之一,於是我深陷其中。
  3. oh-my-zsh:,但是配置過程較為復雜,這個腳本能夠幫你一鍵配置。用來管理 zsh的配置,同時還有很多社區貢獻的主題配置以及好用的插件可供使用,非常好用。
  4. Powerline:基於oh-my-zsh的主題和字體。這個屬於資源類,並不完全是工具,但哪個工具敢說自己不需要字體?

步驟預覽:

  1. 安裝 iTerm2
  2. 在 iTerm2 下配置 Solarized Dark Higher Contrast 配色方案
  3. 安裝配置 zsh
  4. 安裝 oh-my-zsh
  5. 安裝 powerlevel9k 主題
  6. 安裝 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,到此,大功告成。

再也不用擔心輸命令時,長時間對着枯燥的界面了。

坑是基本填完了,如果還有遺漏,歡迎大家補充指正了。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM