通過 Oh My Zsh 安裝的主題和外掛來擴充套件 Zsh 的功能。
在我的中,我向大家展示了如何安裝並使用 (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 庫到 ~/.oh-my-zsh
目錄:
% git clone http://github.com/robbyrussell/oh-my-zsh ~/.oh-my-zsh
下一步,備份你已有的 .zshrc
檔案,然後將 oh-my-zsh 自帶的組態檔移動到這個地方。這兩步操作可以一步完成,只需要你的 mv
命令支援 -b
這個選項。
% mv -b \~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
預設情況下,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
。
編輯組態檔之後,你必須重新啟動你的 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/themes3den.zsh-themeadben.zsh-themeaf-magic.zsh-themeafowler.zsh-themeagnoster.zsh-theme[...]
想在切換主題之前檢視一下它的樣子,你可以檢視 Oh My Zsh 的 wiki 頁面。要檢視更多主題,可以檢視 外部主題 wiki 頁面。
大部分的主題是非常易於安裝和使用的,僅僅需要改變 .zshrc
檔案中的設定選項然後重新載入組態檔。
? ~ sed -i 's/_THEME=\"robbyrussel\"/_THEME=\"linuxonly\"/g' ~/.zshrc? ~ source ~/.zshrcseth@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
命令並不會起作用)。一旦重新啟動,你就可以看到新的主題:
Oh My Zsh 有超過 200 的外掛,你可以在 .oh-my-zsh/plugins
中看到它們。每一個擴充套件目錄下都有一個 README
檔案解釋了這個外掛的作用。
一些外掛相當簡單。例如,dnf
、ubuntu
、brew
和 macports
外掛僅僅是為了簡化與 DNF、Apt、Homebres 和 MacPorts 的互動操作而定義的一些別名。
而其他的一些外掛則較為複雜,git
外掛預設是被啟用使用的。當你的目錄是一個 git 倉庫的時候,這個擴充套件就會更新你的 Shell 提示符,以顯示當前的分支和是否有未合併的更改。
為了啟用這個擴充套件,你可以將這個擴充套件新增到你的組態檔 ~/.zshrc
中。例如,你可以新增 dnf
和 pass
外掛,按照如下的方式更改:
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 提供的特定功能。因此,它們並不是所有都能工作。但是你可以新增一些其他的外掛,例如 dnf
、ubuntu
、firewalld
,以及其他的一些外掛。你可以使用 source
使你的選擇生效。例如:
if [ -d $HOME/.local/share/oh-my-zsh/plugins ]; then source $HOME/.local/share/oh-my-zsh/plugins/dnf/dnf.plugin.zshfi
Z-shell 的內建功能和它由社群貢獻的擴充套件功能都非常強大。你可以把它當成你的主 Shell 使用,你也可以在你休閒娛樂的時候嘗試一下。這取決於你的愛好。
什麼是你最喜愛的主題和擴充套件可以在下方的評論告訴我們!