Oh My Zsh 是一款社區(qū)驅(qū)動(dòng)的命令行工具,是基于 Zsh 命令行的一個(gè)擴(kuò)展工具集,提供了豐富的擴(kuò)展功能,如:主題配置,插件機(jī)制,內(nèi)置的便捷操作等,可以給我們一種全新的命令行使用體驗(yàn)。下文對(duì) Oh My Zsh 的安裝及配置方法進(jìn)行總結(jié),只總結(jié)最佳的實(shí)踐。
1. 安裝 Oh My Zsh
第一步:安裝 Zsh
# 安裝 Zsh
sudo apt install zsh
# 將 Zsh 設(shè)置為默認(rèn) Shell
chsh -s /bin/zsh
# 可以通過(guò) echo $SHELL 查看當(dāng)前默認(rèn)的 Shell,如果沒(méi)有改為 /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 類(lèi)型的主題,該類(lèi)型主題可以使用圖形表示盡可能多的信息,方便用戶(hù)的使用。推薦安裝用戶(hù)量最大的 Powerlevel9k。
Powerlevel9k 中需要使用較多的圖形符號(hào),字體大多不會(huì)自帶這些符號(hào),所以需要使用專(zhuān)門(mén)的 Powerline 字體。
不推薦安裝官方默認(rèn)的 Powerline Fonts,理由是圖形符號(hào)不全,符號(hào)處會(huì)有亂碼。推薦安裝 Nerd-Fonts 系列字體,因?yàn)樵撓盗凶煮w附帶有盡可能全的符號(hào),并且更新非常頻繁,項(xiàng)目地址在這里。例如直接下載 Ubuntu Font Family 中的 Ubuntu Nerd Font Complete.ttf ,然后直接在Ubuntu下安裝。
2.2 主題及字體的配置
如果要在 Oh My Zsh中安裝 Powerlevel9k ,只需執(zhí)行如下指令:
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
3. 插件配置
3.1 autojump
更快地切換目錄,不受當(dāng)前所在目錄的限制。
安裝:
sudo apt install autojump
用法:
# 跳轉(zhuǎn)到目錄
j dir
# 可以通過(guò)GUI文件管理器打開(kāi)指定目錄,執(zhí)行命令:
jo dir
3.2 fasd
快速訪問(wèn)文件或目錄,功能比前一個(gè)插件強(qiáng)大。
安裝:
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' # 跳轉(zhuǎn)至目錄
alias zz='fasd_cd -d -i' # 選擇并跳轉(zhuǎn)至目錄
3.3 zsh-autosuggestions
命令行命令鍵入時(shí)的歷史命令建議插件
按照官方文檔提示,直接執(zhí)行如下命令安裝:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
3.4 zsh-syntax-highlighting
命令行語(yǔ)法高亮插件
按照官方文檔提示,直接執(zhí)行如下命令安裝:
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 功能強(qiáng),但是沒(méi) autojump 實(shí)用
# 值得注意的是,根據(jù)官方文檔,zsh-syntax-highlighting 插件需放在最后
plugins=(
git extract autojump zsh-autosuggestions zsh-syntax-highlighting
)
4.「.zshrc」文件完整修改
Oh My Zsh 配置文件的完整修改結(jié)果,只有對(duì)配置文件進(jìn)行如下修改,才能使上述配置生效。
# 設(shè)置字體模式以及配置命令行的主題,語(yǔ)句順序不能顛倒
POWERLEVEL9K_MODE='nerdfont-complete'
ZSH_THEME="powerlevel9k/powerlevel9k"
# 以下內(nèi)容去掉注釋即可生效:
# 啟動(dòng)錯(cuò)誤命令自動(dòng)更正
ENABLE_CORRECTION="true"
# 在命令執(zhí)行的過(guò)程中,使用小紅點(diǎn)進(jìn)行提示
COMPLETION_WAITING_DOTS="true"
# 啟用已安裝的插件
plugins=(
git extract fasd zsh-autosuggestions zsh-syntax-highlighting
)
常用命令
下面總結(jié) Oh My Zsh 配置相關(guān)的其他 bash 命令:
# 查看當(dāng)前所用的 Shell
echo $SHELL
# 查看系統(tǒng)內(nèi)已安裝的 Shell
cat /etc/shells
# 用 GUI 文件管理器或編輯器打開(kāi)指定的的文件或目錄
xdg-open fileOrDir