Oh My Zsh 是一款社群驅動的指令行工具,是基于 Zsh 指令行的一個擴充工具集,提供了豐富的擴充功能,如:主題配置,插件機制,内置的便捷操作等,可以給我們一種全新的指令行使用體驗。下文對 Oh My Zsh 的安裝及配置方法進行總結,隻總結最佳的實踐。
1. 安裝 Oh My Zsh
第一步:安裝 Zsh
# 安裝 Zsh
sudo apt install zsh
# 将 Zsh 設定為預設 Shell
chsh -s /bin/zsh
# 可以通過 echo $SHELL 檢視目前預設的 Shell,如果沒有改為 /bin/zsh,那麼需要重新開機 Shell。
第二步:安裝 Oh My Zsh
# 安裝 Oh My Zsh
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
# 以上指令可能不好使,可使用如下兩條指令
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh
bash ./install.sh
2. Zsh 的配置
2.1 字型的安裝
推薦在終端使用 Powerline 類型的主題,該類型主題可以使用圖形表示盡可能多的資訊,友善使用者的使用。推薦安裝使用者量最大的 Powerlevel9k。
Powerlevel9k 中需要使用較多的圖形符号,字型大多不會自帶這些符号,是以需要使用專門的 Powerline 字型。
不推薦安裝官方預設的 Powerline Fonts,理由是圖形符号不全,符号處會有亂碼。推薦安裝 Nerd-Fonts 系列字型,因為該系列字型附帶有盡可能全的符号,并且更新非常頻繁,項目位址在這裡。例如直接下載下傳 Ubuntu Font Family 中的 Ubuntu Nerd Font Complete.ttf ,然後直接在Ubuntu下安裝。
2.2 主題及字型的配置
如果要在 Oh My Zsh中安裝 Powerlevel9k ,隻需執行如下指令:
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
3. 插件配置
3.1 autojump
更快地切換目錄,不受目前所在目錄的限制。
安裝:
sudo apt install autojump
用法:
# 跳轉到目錄
j dir
# 可以通過GUI檔案管理器打開指定目錄,執行指令:
jo dir
3.2 fasd
快速通路檔案或目錄,功能比前一個插件強大。
安裝:
sudo apt install fasd
用法:
alias f='fasd -f' # 檔案
alias d='fasd -d' # 目錄
alias a='fasd -a' # 任意
alias s='fasd -si' # 顯示并選擇
alias sd='fasd -sid' # 選擇目錄
alias sf='fasd -sif' # 選擇檔案
alias z='fasd_cd -d' # 跳轉至目錄
alias zz='fasd_cd -d -i' # 選擇并跳轉至目錄
3.3 zsh-autosuggestions
指令行指令鍵入時的曆史指令建議插件
按照官方文檔提示,直接執行如下指令安裝:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
3.4 zsh-syntax-highlighting
指令行文法高亮插件
按照官方文檔提示,直接執行如下指令安裝:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
3.5 插件最終配置
# autojump 功能弱,fasd 功能強,但是沒 autojump 實用
# 值得注意的是,根據官方文檔,zsh-syntax-highlighting 插件需放在最後
plugins=(
git extract autojump zsh-autosuggestions zsh-syntax-highlighting
)
4.「.zshrc」檔案完整修改
Oh My Zsh 配置檔案的完整修改結果,隻有對配置檔案進行如下修改,才能使上述配置生效。
# 設定字型模式以及配置指令行的主題,語句順序不能颠倒
POWERLEVEL9K_MODE='nerdfont-complete'
ZSH_THEME="powerlevel9k/powerlevel9k"
# 以下内容去掉注釋即可生效:
# 啟動錯誤指令自動更正
ENABLE_CORRECTION="true"
# 在指令執行的過程中,使用小紅點進行提示
COMPLETION_WAITING_DOTS="true"
# 啟用已安裝的插件
plugins=(
git extract fasd zsh-autosuggestions zsh-syntax-highlighting
)
常用指令
下面總結 Oh My Zsh 配置相關的其他 bash 指令:
# 檢視目前所用的 Shell
echo $SHELL
# 檢視系統内已安裝的 Shell
cat /etc/shells
# 用 GUI 檔案管理器或編輯器打開指定的的檔案或目錄
xdg-open fileOrDir
參考資料
- Zsh + Oh My Zsh 全程指南「程式員必備」
- Zsh 全程指南
- Ubuntu 16.04 下安裝 Zsh 和 Oh My Zsh