給 Zsh 新增主題和外掛

Seth Kenlon發表於2019-10-05

通過 Oh My Zsh 安裝的主題和外掛來擴充套件 Zsh 的功能。

在我的前文中,我向大家展示瞭如何安裝並使用 Z-Shell (Zsh)。對於某些使用者來說,Zsh 最令人激動的是它可以安裝主題。Zsh 安裝主題非常容易,一方面是因為有非常活躍的社群為 Z-Shell 設計主題,另一方面是因為有 Oh My Zsh 這個專案。這使得安裝主題變得輕而易舉。

主題的變化可能會立刻吸引你的注意力,因此如果你安裝了 Zsh 並且將預設的 Shell 替換為 Zsh 時,你可能不喜歡 Shell 預設主題的樣子,那麼你可以立即更換 Oh My Zsh 自帶的 100 多個主題。Oh My Zsh 不僅擁有大量精美的主題,同時還有數以百計的擴充套件 Zsh 功能的外掛。

安裝 Oh My Zsh

Oh My Zsh 的官網建議你使用一個指令碼在有網路的情況下來安裝這個包。儘管 Oh My Zsh 專案幾乎是可以令人信服的,但是盲目地在你的電腦上執行一個指令碼這是一個糟糕的建議。如果你想執行這個指令碼,你可以把它下載下來,看一下它實現了什麼功能,在你確信你已經瞭解了它的所作所為之後,你就可以執行它了。

如果你下載了指令碼並且閱讀了它,你就會發現安裝過程僅僅只有三步:

1、克隆 oh-my-zsh

第一步,克隆 oh-my-zsh 庫到 ~/.oh-my-zsh 目錄:

% git clone http://github.com/robbyrussell/oh-my-zsh ~/.oh-my-zsh

2、切換配置檔案

下一步,備份你已有的 .zshrc 檔案,然後將 oh-my-zsh 自帶的配置檔案移動到這個地方。這兩步操作可以一步完成,只需要你的 mv 命令支援 -b 這個選項。

% mv -b \
~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc

3、編輯配置檔案

預設情況下,Oh My Zsh 自帶的配置檔案是非常簡陋的。如果你想將你自己的 ~/.zshrc 檔案合併到 .oh-my-zsh 的配置檔案中。你可以使用 cat 命令將你的舊的配置檔案新增到新檔案的末尾。

% cat ~/.zshrc~ >> ~/.zshrc

看一下預設的配置檔案以及它提供的一些選項。用你最喜歡的編輯器開啟 ~/.zshrc 檔案。這個檔案有非常良好的註釋。這是瞭解它的一個非常好的方法。

例如,你可以更改 .oh-my-zsh 目錄的位置。在安裝的時候,它預設是位於你的家目錄。但是,根據 Free Desktop 所定義的現代 Linux 規範。這個目錄應當放置於 ~/.local/share 。你可以在配置檔案中進行修改。如下所示:

# Path to your oh-my-zsh installation.
export ZSH=$HOME/.local/share/oh-my-zsh

然後將 .oh-my-zsh 目錄移動到你新配置的目錄下:

% mv ~/.oh-my-zsh $HOME/.local/share/oh-my-zsh

如果你使用的是 MacOS,這個目錄可能會有點含糊不清,但是最合適的位置可能是在 $HOME/Library/Application\ Support

重新啟動 Zsh

編輯配置檔案之後,你必須重新啟動你的 Shell。在這之前,你必須確定你的任何操作都已正確完成。例如,在你修改了 .oh-my-zsh 目錄的路徑之後。不要忘記將目錄移動到新的位置。如果你不想重新啟動你的 Shell。你可以使用 source 命令來使你的配置檔案生效。

% source ~/.zshrc
➜  .oh-my-zsh git:(master) ✗

你可以忽略任何丟失更新檔案的警告;他們將會在重啟的時候再次進行解析。

更換你的主題

安裝好 oh-my-zsh 之後。你可以將你的 Zsh 的主題設定為 robbyrussell,這是一個該專案維護者的主題。這個主題的更改是非常小的,僅僅是改變了提示符的顏色。

你可以通過列出 .oh-my-zsh 目錄下的所有檔案來檢視所有安裝的主題:

➜  .oh-my-zsh git:(master) ✗ ls ~/.local/share/oh-my-zsh/themes
3den.zsh-theme
adben.zsh-theme
af-magic.zsh-theme
afowler.zsh-theme
agnoster.zsh-theme
[...]

想在切換主題之前檢視一下它的樣子,你可以檢視 Oh My Zsh 的 wiki 頁面。要檢視更多主題,可以檢視 外部主題 wiki 頁面。

大部分的主題是非常易於安裝和使用的,僅僅需要改變 .zshrc 檔案中的配置選項然後重新載入配置檔案。

➜ ~ sed -i 's/_THEME=\"robbyrussel\"/_THEME=\"linuxonly\"/g' ~/.zshrc
➜ ~ source ~/.zshrc
seth@darkstar:pts/0->/home/skenlon (0) ➜

其他的主題可能需要一些額外的配置。例如,為了使用 agnoster 主題,你必須先安裝 Powerline 字型。這是一個開源字型,如果你使用 Linux 作業系統的話,這個字型很可能在你的軟體庫中存在。使用下面的命令安裝這個字型:

➜ ~ sudo dnf install powerline-fonts

在配置檔案中更改你的主題:

➜ ~ sed -i 's/_THEME=\"linuxonly\"/_THEME=\"agnoster\"/g' ~/.zshrc

重新啟動你的 Sehll(一個簡單的 source 命令並不會起作用)。一旦重啟,你就可以看到新的主題:

agnoster theme

安裝外掛

Oh My Zsh 有超過 200 的外掛,你可以在 .oh-my-zsh/plugins 中看到它們。每一個擴充套件目錄下都有一個 README 檔案解釋了這個外掛的作用。

一些外掛相當簡單。例如,dnfubuntubrewmacports 外掛僅僅是為了簡化與 DNF、Apt、Homebres 和 MacPorts 的互動操作而定義的一些別名。

而其他的一些外掛則較為複雜,git 外掛預設是被啟用使用的。當你的目錄是一個 git 倉庫的時候,這個擴充套件就會更新你的 Shell 提示符,以顯示當前的分支和是否有未合併的更改。

為了啟用這個擴充套件,你可以將這個擴充套件新增到你的配置檔案 ~/.zshrc 中。例如,你可以新增 dnfpass 外掛,按照如下的方式更改:

plugins=(git dnf pass)

儲存修改,重新啟動你的 Shell。

% source ~/.zshrc

這個擴充套件現在就可以使用了。你可以通過使用 dnf 提供的別名來測試一下:

% dnfs fop
====== Name Exactly Matched: fop ======
fop.noarch : XSL-driven print formatter

不同的外掛做不同的事,因此你可以一次安裝一兩個外掛來幫你學習新的特性和功能。

相容性

一些 Oh My Zsh 外掛具有通用性。如果你看到一個外掛聲稱它可以與 Bash 相容,那麼它就可以在你自己的 Bash 中使用。另一些外掛需要 Zsh 提供的特定功能。因此,它們並不是所有都能工作。但是你可以新增一些其他的外掛,例如 dnfubuntufirewalld,以及其他的一些外掛。你可以使用 source 使你的選擇生效。例如:

if [ -d $HOME/.local/share/oh-my-zsh/plugins ]; then
        source $HOME/.local/share/oh-my-zsh/plugins/dnf/dnf.plugin.zsh
fi

選擇或者不選擇 Zsh

Z-shell 的內建功能和它由社群貢獻的擴充套件功能都非常強大。你可以把它當成你的主 Shell 使用,你也可以在你休閒娛樂的時候嘗試一下。這取決於你的愛好。

什麼是你最喜愛的主題和擴充套件可以在下方的評論告訴我們!


via: https://opensource.com/article/19/9/adding-plugins-zsh

作者:Seth Kenlon 選題:lujun9972 譯者:amwps290 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

給 Zsh 新增主題和外掛

訂閱“Linux 中國”官方小程式來檢視

相關文章