Qual é a principal diferença entre grml zsh config e oh-my-zsh config

15

Agora estou no oh-my-zsh, mas não tenho certeza de que seja a escolha perfeita. Qual é a principal diferença entre grml zsh config ( github repo ) e oh-my-zsh config ? Nesse caso, devo preferir grml ou oh-my-zsh?

petRUShka
fonte
1
Aqui está outra estrutura de configuração zsh que parece promissora: github.com/sorin-ionescu/prezto . Eu sei que isso não está relacionado à pergunta, mas eu a descobri e pensei que você poderia estar interessado.
JC Yamokoski
Com relação ao prezto (mas isso não está em questão): é muito discutido, mas vale a pena notar que o último commit foi há 10 meses e há muita discussão que levou a um novo repo .
Griffith Rees

Respostas:

16

Não consigo fornecer um relatório detalhado de suas diferenças, mas pelo menos posso fornecer uma visão geral ampla que pode ajudar a responder a algumas perguntas básicas e levá-lo a lugares onde você pode aprender mais.

oh-my-zsh:

grml-zsh:

Basicamente, as diferenças mais aparentes entre os dois são o sistema de plugins / temas do oh-my-zsh e o atualizador automático. No entanto, esses recursos podem ser adicionados ao grml-zsh com o uso do antigen , que é um gerenciador de plugins do zsh inspirado no oh-my-zsh.

O Antigen permite definir quais plugins e temas você deseja usar e, em seguida, faz o download e os inclui automaticamente. Ironicamente, porém, a maioria dos plugins e temas são retirados da biblioteca do oh-my-zsh, o que significa que, para que funcionem com antígeno, primeiro é necessário carregar o núcleo do oh-my-zsh. Portanto, essa abordagem leva a recriar mais ou menos o oh-my-zsh de maneira indireta. No entanto, se você preferir a configuração do grml ao oh-my-zsh, então esta é uma opção válida.

Resumindo, acredito que você só precisa tentar os dois e ver qual funciona melhor para você. Você pode alternar criando os seguintes arquivos: oh-my-zsh.zshrc(arquivo padrão instalado pelo oh-my-zsh), grml.zshrc(padrão grml zshrc) .zshrc.pre, e .zshrc.local.

Então, se você deseja usar oh-my-zsh:

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

Ou, se você deseja usar o grml:

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

Se você não deseja duplicar suas personalizações (ou seja, adicionar arquivos para o diretório personalizado para oh-meu-zsh e modificando o pré e arquivos locais para GRML), uma opção é adicionar suas personalizações .zshrc.pree .zshrc.localem seguida, obtê-los na parte inferior do seu oh-my-zsh.zshrcarquivo da seguinte forma:

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

Além disso, se você decidir usar o antígeno, poderá adicioná-lo ao seu .zshrc.localarquivo e, em seguida, criar um condicional em torno dele para garantir que o oh-my-zsh não o execute, da seguinte forma:

# 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
JC Yamokoski
fonte