10.05 給 Zsh 添加主題和插件

給 Zsh 添加主題和插件

通過 Oh My Zsh 安裝的主題和插件來擴展 Zsh 的功能。

-- Seth Kenlon(作者)

在我的 前文 中,我向大家展示瞭如何安裝並使用 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

默認情況下,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 命令並不會起作用)。一旦重啟,你就可以看到新的主題:


給 Zsh 添加主題和插件

agnoster theme


安裝插件

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.zsh
fi

選擇或者不選擇 Zsh

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

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


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

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

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


分享到:


相關文章: