iTerm 美化筆記
時隔二年(變裝),除了這台 MacBook Pro 換了 2017 年款的整修品外,作業系統當然已經是最新的 High Sierra(10.13.4),雖然有些工具程式來來去去,安裝了又移除。但不變的 iTerm 還是唯一的 Terminal 工具,Oh My Zsh 也依舊是預設的 Shell 。
今天網路逛著看到這篇 Show Off Your Config 的文章,不免手癢,就趁著週休稍有空閒時間,又再次來玩玩 iTerm + Zsh 的美化。
在這些所謂的 dot files 裡,蠻中意的是這個「Falkor's Dotfiles -- OhMyZSH Customization」,簡潔耐看又不至於太花俏。大致上來說就是用了:
- Oh My Zsh
- powerlevel9k theme
- iTerm2 的 Darkside 顏色主題
- Source Code Pro + Powerline Awesome Regular 字型
- 以及作者自己的 dot files 包
由於作者已經提供相當完整的文件說明,基本上來說應該是按表操作就可完成才對。不過,真正動手後還是碰到一些小問題,又花了點時間才算完工。也整理了一下過程記錄的筆記備忘。
安裝 iTerm 2
這個很單純,看是要到官網直接下載或是用 Homebrew 的方式安裝均可。
- 官網連結:iTerm 2
- Homebrew 安裝:
$ brew cask install iterm2
- 如果尚未安裝過 Homebrew,執行下列指令先行安裝:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安裝 iTerm 的配色主題
作者是用 Darkside,我個人偏好是 Dracula 以及經典的 Monokai,所以自行更換。將下載的配色主題檔案(例如:Dracula.itermcolors)點按二下後會自動匯入 iTerm 中:
- Darkside:http://iterm2colorschemes.com。這個網站已經把 130 多個配色主題全部打包,可以直接下載解壓(iTerm 配色主題是在 schemes 子目錄下),另外還貼心地在網站上提供配色主題名稱及載圖,可以邊對照再自行選擇喜歡順眼的套用。
- Monokai:在上述的主題包中就包含了幾個 Monokai 的主題,個人偏好是 Monokai Soda。
- Dracula 配色主題官網:Dracula — A dark theme for iTerm and 40+ apps,除了 iTerm 外還有多達40 多個不同工具程式的同色主題。
套用 iTerm 配色主題
開啟功能表 iTerm → Preferences,選擇 Profiles 再點選配色(Colors)頁籤,從右下角的「Color Presets...」下拉選單中選擇剛匯入的配色主題即可套用。
下載 dot files 包
使用 git clone 的方式從 Github 下載一份檔案包:
$ git clone https://github.com/Falkor/dotfiles.git ~/.dotfiles.falkor.d
安裝字型
在剛 git clone 下來的檔案包裡就有所需的字型(SourceCodePro+Powerline+Awesome+Regular.ttf)。在 Finder → Go to Folder(或按快捷鍵 ⇧+⌘+G),輸入 ~/.dotfiles.falkor.d/fonts/
即可開啟檔案夾內容視窗。直接雙擊字型檔開啟 MacOS 字型管理工具,選擇右下角的安裝字型即可:
修改 iTerm 字型
開啟功能表 iTerm → Preferences,選擇 Profiles 再點選文字(Text)頁籤,點擊下方的「Change Font」按鈕選擇剛匯入的字型套用。
安裝 Oh My Zsh
雖然作者提供的 dot files 包裡就有安裝程式,且會一併自動安裝 Oh My Zsh 及 powerlevel9k theme,算是懶人一鍵安裝包。不過我安裝使用後倒是碰到一些小問題,所以還是決定自行手動安裝設定。首先,執行下列的指令安裝 Oh My Zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
安裝 powerlevel9k theme
執行下列指令從 GitHub clone powerlevel9k 主題包
git clone --branch next https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
修改 zshrc 設定
開啟個人家目錄下的 .zshrc 檔編輯:
vi ~/.zshrc
先將原來的 ZSH_THEME="robbyrussell"
註解掉,再加入如下的設定值:
ZSH_THEME="powerlevel9k/powerlevel9k"
## customize zsh theme -- start
# Customization of the https://github.com/bhilburn/powerlevel9k
#
# To use this theme, add 'ZSH_THEME="powerlevel9k/powerlevel9k"' in ~/.zshrc
# Font taken from https://github.com/stefano-meschiari/dotemacs/blob/master/SourceCodePro%2BPowerline%2BAwesome%2BRegular.ttf
#
POWERLEVEL9K_MODE='awesome-patched'
# Disable dir/git icons
POWERLEVEL9K_HOME_ICON=''
POWERLEVEL9K_HOME_SUB_ICON=''
POWERLEVEL9K_FOLDER_ICON=''
DISABLE_AUTO_TITLE="true"
POWERLEVEL9K_VCS_GIT_ICON=''
POWERLEVEL9K_VCS_STAGED_ICON='\u00b1'
POWERLEVEL9K_VCS_UNTRACKED_ICON='\u25CF'
POWERLEVEL9K_VCS_UNSTAGED_ICON='\u00b1'
POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON='\u2193'
POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON='\u2191'
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='yellow'
POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND='yellow'
#POWERLEVEL9K_VCS_UNTRACKED_ICON='?'
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status os_icon context dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(background_jobs virtualenv rbenv rvm time)
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle"
POWERLEVEL9K_SHORTEN_DIR_LENGTH=4
POWERLEVEL9K_TIME_FORMAT="%D{%H:%M \uE868 %d.%m.%y}"
POWERLEVEL9K_STATUS_VERBOSE=false
export DEFAULT_USER="$USER"
## customize zsh theme --End
安裝 Plugin
基本安裝到此已經算是完成了,可以關閉再重開 iTerm 就可以看到套用主題後的效果。不過 zsh 的一個強項就是擁有為數眾多的外掛(Plugins),可以為 zsh 添加各式各樣的附加功能。我自己是會再加裝二個外掛:zsh-completions 以及 zsh-autosuggestions,讓日常使用上更順手便利:
- zsh-completions
直接使用 brew 安裝即可:
brew install zsh-completions
安裝完成後螢幕上會有調整設定的說明,依照指示修改 .zshrc,加上這行設定值:
fpath=(/usr/local/share/zsh-completions $fpath)
並執行下面指令重建 zcompdump:
rm -f ~/.zcompdump; compinit
另外,如果在載入 zcompdump 過程中出現類似 "zsh compinit: insecure directories"
這樣的警示訊息,可以再執行下列指令修正權限:
chmod go-w '/usr/local/share'
- zsh-autosuggestions
執行下列指令將 zsh-autosuggestions clone 回來
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
再次修改 .zshrc,預設的 plugins 設定是只載入 git,在後面多加上 zsh-autosuggestions:
plugins=(
git zsh-autosuggestions
)
這就是完工後成果的一些擷圖,最後可以用上下左右方向鍵移動游標選擇就是加上 zsh-completions 外掛的功能: