是不是常常看到一些朋友同事的端終機(Terminal)特別的炫麗又超多功能?不用羨慕,教學在此!本文將在Zsh Shell環境下,搭配 iTerm2 、 oh-my-zsh 、 Powerlevel10k 這些大家常推薦的工具組合,快速的打造一個與眾不同的終端機操作環境,不但可以加強操作效率,而且畫面酷炫,即便在工作心情也會跟著好了起來。文章上可能會有點長,但每個步驟都是我自己測試過,寫的詳細一點是為了讓沒接觸過的人更好上手,但其實每個步驟都沒有很難的,會盡量簡化所有的設定步驟,讓各位照表操課就可以打造出絕美終端機。
示範環境:macOS 10.15.7、11.2.3,若OS是Linux也可以參考,設定大都是一樣的
推薦閱讀:[Mac] iTerm2 + ZIM + Powerlevel10k 速度更快的終端機美化教學
名詞小教室
第一次接觸的人可以不知道上面的這些工具的用途是什麼,所以這裡先簡單的說明一下各名詞、工具的意義為何,讓大家比較有一個概念,有解釋錯誤的話也請大家留言糾正
工具名稱 | 說明 |
---|---|
Shell | 簡單的來說就是用戶和系統核心(Kernel)溝通的橋樑,透過Shell的指令來讓Kernel執行各項操作,而Shell有很多,以Linux的環境境來說,常見的就有Bash、Tcsh、Ksh、Zsh、Fish等 |
Zsh | 全名為「Z shell」,為功能強大的Shell,也是今天的主角之一,macOS在Catalina (10.15) 後,也將原本預設的shell由bash轉換成zsh了 |
iTerm2 | 在Mac平台上的加強型終端機,用來取代原生的終端機程式,當然終端機工具也很多,大家可以依自己的平台選擇習慣的就行 |
oh-my-zsh | 一個功能強大的Zsh設定框架,怎麼解釋呢?Zsh是個很強大的Shell,但在設定上相對就複雜許多,所以許多社群就熱心開發了容易幫Zsh進行設定的功能框架出來,而不同的框架就有不同的特色,on-my-zsh就是其中一個,其他還有Zim、Zplug (Zsh Plugin Manager)等 |
Powerlevel10k | 很受歡迎的一套Zsh主題,它強調速度、靈活性和開箱即用的體驗,也是本文的重點項目之一,更早之前大家都是安裝Powerlevel9k,現在有新版了喔,所以請記得安裝Powerlevel10k,本文簡稱「p10k」 |
1. 確認環境 / 安裝Zsh
macOS Catalina (10.15) 以上,預設的 shell 已經是Zsh,已不需要安裝,或者可先以下指令來查看目前的Shell是否為Zsh:
ⓞ 查看看前使用哪個Shell
echo $SHELL
若非Zsh,則可先查詢環境中有的Shell,也許環境已經具備了,只是我們不知道或有切換到而已,所以先查詢目前有哪幾個Shell可用
ⓞ 列出目前環境中有哪幾個Shell
cat /etc/shells
如果有Zsh Shell的話,則可以進行切換,例如如果你目前的Shell是Bash,想切換到Zsh就可以執行以下指令
ⓞ 切換Shell到Zsh
chsh -s /bin/zsh 或 chsh -s $(which zsh)
ⓞ 確認自己的環境沒有Zsh的話,則依下列指令進行安裝
brew install zsh
其他平台則請依各作業系統查看安裝Zsh的方法,在此提供Ubuntu的安裝方法
sudo apt update
sudo apt install zsh
2. 安裝 iTerm2
iTerm2目前只適用Mac平台,可透過下面二種方式來進行安裝
方式一
到iTerm2下載Zip檔,解壓後執行或者拖拉到Application目錄中,建議是直接放到Application中,我自己是採用這個方式來安裝
方式二
透過Homebrew進行安裝,指令如下
brew cask install iterm2/code>
iTerm2的一些小技巧不會在本文中提及,不過如果要讓iTerm2的配色有點變化的話,可以參考「iTerm Theme」來選擇配色方案
3. 安裝 Oh My Zsh
Oh My Zsh 官方提供
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
3.1 小試身手,變更主題 (欲安裝p10k主題者可略過)
到這個步驟其實你的終端機就可以做很多變化了,我們可以先熱身一下,試試變更主題:Zsh主要的設定檔在「
① 用自己慣用的編輯器編輯「~/.zshrc」檔
vi ~/.zshrc
② 修改「ZSH_THEME」的值並儲存離開,本例以主題「ys」為例
③ 執行source指令,讓設定檔生效,最後重開終端機就可以看到美美的畫面囉
source ~/.zshrc
④ 出現亂碼的畫面? 用 Powerline 字型就可解決
因為有些主題會有特別的圖示需求,如果沒有相對應的字型來呈現的話,那就會呈現亂碼,所以通常會加裝「Powerline」字型,我個人的偏好則是「Meslo Slashed」的「Meslo LG M Regular for Powerline.ttf」,請下載自己喜愛的字型然後進行安裝,接著在iTerm2中進行字型的更改就可以解決亂碼的問題。
設定方法為:進入iTerm2的「Preferences」→ 選擇「Profiles」→ 切換到「Text」頁面後於「Font」選項中設定 即可,如下圖所示:
4. 安裝 Powerlevel10k
4.1 安裝 Nerd Fonts
在正式進入進行p10k安裝之前,我習慣先處理字型問題,因為p10k這個主題有用到一些比較特殊的圖示,所以上述所提到的Powerline字型不足以顯示,需要安裝更強大的「Nerd Fonts」字型,這連結有許多字型,請自己選擇喜歡的字型即可,不過網路上還蠻多人推「Hack」字型 (用搜尋的方式尋找,並下載Zip檔後解壓安裝即可);另外,p10k官方Github上推薦的字型為「MesloLGS NF」,我個人是使用官方推薦的,供大家參考。
這邊再提供一下我的實際安裝經驗給大家參考:我共有二台MAC一台是macOS Catalina 10.15.7,在安裝字型上沒有特別的問題,但另一台macOS Big Sur 11.2.3在進行字型安裝時,有發現安裝完後無法立即使用的情況,即字體簿看不到安裝的字型,所以有一種安裝失敗的假象,如果你也有這種情況,那可以「重開電腦」使之生效,供大家參考。
註一: 雖然在設定p10k的時候會協助安裝字型,但網上有文章指出有時候會出錯,所以建議可以事先自己把所需字型安裝好
註二: 安裝完 Nerd Fonts 字型後,請參考「 3.1 」節,設置 iTerm2 的字型
註三: 如果下載Nerd Fonts安裝失敗,可參考下面的「5. 補充資訊」說明
4.2 安裝 p10k
p10k提供不同設定框架的安裝方式,因為本文我們是以Oh My Zsh為例,所以安裝方式如下:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
接著同樣到
ZSH_THEME="powerlevel10k/powerlevel10k"
再來請直接重啟iTerm2,便會出現p10k的設定畫面(如下圖),按照畫面的說明來選擇即可,問題不會很難,而且在設定畫面上,也會提供設定完後的結果來供我們參考,此外,設定中有個問題是會詢問是否自動把p10k加入「.zshrc」中,建議選擇自動加入,待設定完成後便會在「家目錄」中生成p10k的設定檔
註一: 因為我們先安裝了字型,所以不會跳出字型安裝的詢問畫面,否則通常會跳出詢問用戶是否安裝字型的畫面,如果前面沒有安裝字型的人,可以在這個階段補上Nerd Fonts
註二: 設定錯了或後續想修改設定的話也沒關係,只要在終端機中直接輸入「p10k configure」就可以重新進行設定,如果你是高手的話,則可以直接編輯「~/.p10k.zsh」這個檔案
最後的設定完成後,就可以看到漂亮的畫面了,如果沒有立即生效的話,記得重開終端機試試,至於如果還要更炫或更多功能的呈現,那就要再深入進行p10k的進階設定,後續有機會再來談這一塊。
4.3 設定 Mac 原生終端機字型
這是非必要的,但如果各位有時候會用到原生Terminal的話,那建議還是調整一下字型,避免出現圖示亂碼的情況:請進入終端機的「偏好設定」,在左邊選擇你要設定的主題,然後選擇適合字型以避免出現亂碼,例如可以選擇剛剛為p10k所安裝的MesloLGS NF字型,接著視情況勾選「柔邊處理文字」,我的情況是如果沒勾此選項的話,會發現字體不滑順、很粗糙
5. 補充資訊:使用 Homebrew 安裝字型
如果你發現下載的字型透過點擊或「字體簿」安裝都失敗,那麼可以使用「 Homebrew 」這個套件管理工具進行安裝,優點是後續如果要進行同樣的安裝動作,或者安裝其他軟體的話就很方便,缺點是這套工具檔案蠻大的
① 如果你的Mac還沒有安裝 Hmoebrew ,那請先安裝這個套件管理工具
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
② 如果知道要安裝的字型名稱,則可以直接安裝,如下面的指令是直接安裝Hack字型:
brew tap homebrew/cask-fonts (要安裝字型需執行此指令)
brew install font-hack-nerd-font
brew untap homebrew/cask-fonts (確定不需安裝字型了就可以untap)
如果不知道字型名稱的話,則可以用下列指令進行查詢
brew search nerd
除了 Hack 和 MesloLGS NF 字型外,下面這幾個字型也蠻多人使用,推薦給大家
- Fira Code
- Source Code Pro
- Cascadia
延伸閱讀:
.Terminalizer § Terminal (終端機) 錄影工具,可匯出GIF動態檔
.ExFAT格式 – 讓Windows、Mac OS共用隨身碟或外接硬碟