預設終端 + iTerm2 + oh_my_zsh + agnoster theme + Powerline fonts + solarized 打造macOS炫酷終端
先上圖
iTerm2效果
macOS自帶終端效果
iTerm2
iTerm是一個非常好的終端模擬器,官網地址:http://iterm2.com/ ,下載安裝之。
oh_my_zsh
檢視系統支援的sh環境
cat /etc/shells
macOS已經自帶zsh ,但是它不是預設shell
# List of acceptable shells for chpass(1). # Ftpd will not allow users to connect who are not using # one of these shells. /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh
輸入如下命令更改zsh為預設shell
chsh -s /bin/zsh
echo $SHELL檢視是否切換成功, 返回 /bin/zsh 就對了。
echo $SHELL
/bin/zsh
輸入如下命令安裝oh_my_zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Solarized配色方案
因為下面的字型需要在新的配色主題中更改,所以需要先安裝Solarized配色方案。
git clone https://github.com/altercation/solarized
iTerm2的設定:
進入目錄solarized/iterm2-colors-solarized,雙擊Solarized Dark.itermcolors、Solarized Light.itermcolors匯入主題(可能會提示安全性問題,進入系統偏好設定-安全性與隱私-通用 裡面確認安裝);
iTerm2設定->Profiles->Colors->Color Presets…,在下拉選單中選擇Solarized Dark
macOS自帶終端設定:
進入目錄solarized/osx-terminal.app-colors-solarized/xterm-256color , 雙擊執行 Solarized Dark xterm-256color.terminal 和 Solarized Light xterm-256color.terminal 進行安裝(可能會提示安全性問題,進入系統偏好設定-安全性與隱私-通用 裡面確認安裝)。
然後開啟 終端 - 偏好設定 - 描述檔案,雙擊 Solarized Dark xterm-256color ,並且點選右下方的“預設”,設定它為預設配色方案。
注意:我這裡預設情況下字元背景不好看(上面的圖是我修改過的),需要更改如下圖中的兩個顏色,點選它使用吸管工具,拾取iTerm2的相應位置顏色即可。
Powerline字型
為了顯示agnoster主題提示符裡的三角形,需要Powerline字型庫的支援。使用pip安裝
pip install powerline-status
如果沒有安裝pip,那麼先安裝pip
sudo easy_install pip
找個位置新建一個font資料夾
mkdir powerlinefonts
cd powerlinefonts
下載字型並執行install.sh安裝
git clone https://github.com/powerline/fonts
cd fonts
./install.sh
設定iTerm2字型
進入 iTerm2 - preferences - Profiles -Text - Font,選擇其中一種Powerline字型,例如 18pt Meslo LG S DZ Regular for Powerline
設定自帶終端字型:
進入 終端 - 偏好設定 - 描述檔案 - 文字,選擇一個Powerline字型,同上。
agnoster主題
git clone 下載並安裝
git clone https://github.com/fcamblor/oh-my-zsh-agnoster-fcamblor
cd oh-my-zsh-agnoster-fcamblor
./install
編輯~/.zshrc ,註釋掉Zsh_THEME="robbyrussell",新增一行ZSH_THEME="agnoster", 注意 “ZSH_THEME”需要全部大寫,雖然原先預設的那一行是Zsh。這個坑浪費了我一個小時。
#Zsh_THEME="robbyrussell"
ZSH_THEME="agnoster"
增加指令高亮效果 zsh-syntax-highlighting
cd ~/.oh-my-zsh/custom/plugins/
git clone https://github.com/zsh-users/zsh-syntax-highlighting
編輯~/.zshrc ,新增
source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
plugins=(zsh-syntax-highlighting)
縮短字首
每行前面的[email protected]太長,只需要編輯~/.zshrc,新增如下一行即可(記住 DEFAULT_USER 全大寫),如此設定就取消字首。
DEFAULT_USER="$USER"
如果你想僅顯示當前使用者名稱,可以這樣設定:
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
最後使zshrc的profile生效:
source ~/.zshrc
其他相關技巧
-
如果想切換回原來的bash:
chsh -s /bin/bash
-
更新oh_my_zsh
,在命令列輸入如下命令:upgrade_oh_my_zsh
-
解除安裝
oh_my_zsh
,在命令列輸入如下命令:uninstall_oh_my_zsh
-
執行指令
pip install powerline-status
出錯解決方法:需要下載蘋果官方的command line tools。