天天看點

Ubuntu 下 Oh My Zsh 的最佳實踐「安裝及配置」

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
           

參考資料

  1. Zsh + Oh My Zsh 全程指南「程式員必備」
  2. Zsh 全程指南
  3. Ubuntu 16.04 下安裝 Zsh 和 Oh My Zsh

繼續閱讀