Zsh

grml zsh config 和 oh-my-zsh config 之間的主要區別是什麼

  • February 2, 2022

現在我在使用 oh-my-zsh,但我不確定它是否是完美的選擇。grml zsh config ( github repo ) 和oh-my-zsh config之間的主要區別是什麼?在哪種情況下,我應該更喜歡 grml 還是 oh-my-zsh?

我無法詳細報告它們之間的差異,但我至少可以提供一個廣泛的概述,這可能有助於回答一些基本問題並引導您了解更多資訊。

哦,我的zsh:

grml-zsh:

基本上,兩者之間最明顯的區別是 oh-my-zsh 的外掛/主題系統和自動更新程序。然而,這些功能可以通過使用antigen添加到grml-zsh ,這是一個受oh-my-zsh啟發的zsh外掛管理器。

Antigen 允許您定義您希望使用的外掛和主題,然後自動為您下載並包含它們。然而,具有諷刺意味的是,大多數外掛和主題都是從 oh-my-zsh 的庫中提取的,這意味著為了讓它們工作,antigen 必須首先載入 oh-my-zsh 核心。因此,這種方法或多或少會以迂迴的方式重新創建 oh-my-zsh。但是,如果您更喜歡 grml 的配置而不是 oh-my-zsh 的配置,那麼這是一個有效的選項。

最重要的是,我相信您只需要同時嘗試兩者,看看哪一個最適合您。您可以通過創建以下文件來回切換:(oh-my-zsh.zshrc由 oh-my-zsh 安裝的預設文件)、grml.zshrc(預設 grml zshrc ).zshrc.pre、..zshrc.local

然後如果你想使用 oh-my-zsh:

$ ln -s ~/oh-my-zsh.zshrc ~/.zshrc

或者,如果你想使用 grml:

$ ln -s ~/grml.zshrc ~/.zshrc

如果您不想複製您的自定義(即,將文件添加到 oh-my-zsh 的自定義目錄並修改 grml 的 pre 和本地文件),一種選擇是添加您的自定義.zshrc.pre.zshrc.local然後在你的文件的底部oh-my-zsh.zshrc像這樣:

source $HOME/.zshrc.pre
source $HOME/.zshrc.local

此外,如果您決定使用抗原,您可以將其添加到您的.zshrc.local文件中,然後在它周圍拋出一個條件以確保 oh-my-zsh 不會執行它,如下所示:

# if not using oh-my-zsh, then load plugins with antigen
# <https://github.com/zsh-users/antigen.git>
if [[ -z $ZSH ]]; then
   source $HOME/.dotfiles/zsh/antigen/antigen.zsh
   antigen-lib
   antigen-bundle vi-mode
   antigen-bundle zsh-users/zsh-syntax-highlighting
   antigen-bundle zsh-users/zsh-history-substring-search
   antigen-theme blinks
   antigen-apply
fi

引用自:https://unix.stackexchange.com/questions/58319