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


15

现在,我在oh-my-zsh上,但是我不确定这是否是完美的选择。grml zsh configgithub repo)和oh-my-zsh config之间的主要区别是什么?在哪种情况下,我应该选择grml还是oh-my-zsh?


1
这是另一个看起来很有前途的zsh配置框架:github.com/sorin-ionescu/prezto。我知道这与问题无关,但我只是发现了这个问题,并认为您可能对此感兴趣。
JC Yamokoski 2012年

关于prezto(但这不是问题):尽管值得一提,但仍进行了很多讨论,尽管最近一次提交是在10个月前,并且有很多讨论导致了新的回购
格里菲斯·里斯

Answers:


16

我无法提供有关它们之间差异的详细报告,但至少可以提供一个广泛的概述,这可能有助于回答一些基本问题,并带您到可以学习更多的地方。

哦,我的zsh:

grml-zsh:

基本上,两者之间最明显的区别是oh-my-zsh的插件/主题系统和自动更新程序。但是,可以使用antigen将这些功能添加到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:

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

如果您不想复制您的自定义(这意味着将文件添加到自定义目录哦,我-的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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.