grml zsh 配置和 oh-my-zsh 配置之间的主要区别是什么

grml zsh 配置和 oh-my-zsh 配置之间的主要区别是什么

现在我使用 oh-my-zsh,但我不确定它是完美的选择。之间的主要区别是什么grml zsh 配置github 仓库) 和哦我的 zsh 配置?在哪种情况下我应该选择 grml 还是 oh-my-zsh?

答案1

我无法详细报告它们之间的差异,但我至少可以提供一个广泛的概述,这可能有助于回答一些基本问题并引导您了解更多信息。

哦我的zsh:

grml-zsh:

基本上,两者之间最明显的区别是 oh-my-zsh 的插件/主题系统和自动更新程序。但是,可以使用以下命令将这些功能添加到 grml-zsh 中抗原,这是一个受 oh-my-zsh 启发的 zsh 插件管理器。

Antigen 允许您定义要使用的插件和主题,然后自动下载并包含它们。但讽刺的是,大多数插件和主题都是从 oh-my-zsh 的库中提取的,这意味着为了让它们工作,抗原必须首先加载 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 的预文件和本地文件),一种选择是将您的自定义项添加到 ,.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

相关内容