Não posso fornecer um relatório detalhado de suas diferenças, mas posso pelo menos fornecer uma visão geral ampla que possa ajudar a responder algumas perguntas básicas e levá-lo a lugares onde você possa aprender mais.
oh-my-zsh:
- Plug-in / sistema de temas incorporado
- Atualizador automático para núcleos, plug-ins e temas
- Comportamento padrão facilmente substituído ou estendido
- Amplamente popular (o que significa uma comunidade ativa)
grml-zsh:
- Muito bem documentado
- Fornece muitos aliases e funções internas úteis (pdf)
-
Comportamento padrão substituído ou estendido com
.zshrc.pre
e.zshrc.local
de arquivos - Ativamente desenvolvido, mas não tão popular quanto oh-my-zsh
Basicamente, as diferenças mais aparentes entre os dois são o sistema plugin / theme do oh-my-zsh e o auto-updater. No entanto, esses recursos podem ser adicionados ao grml-zsh com o uso do antigen , que é um gerenciador de plugins para o zsh inspirado no oh-meu-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 extraídos da biblioteca do oh-my-zsh, o que significa que para que funcionem, o antígeno deve primeiro carregar o núcleo do oh-my-zsh. Então, essa abordagem leva a mais ou menos recriação de oh-my-zsh de forma indireta. No entanto, se você preferir a configuração do grml para oh-my-zsh's, então esta é uma opção válida.
Linha de fundo, acredito que você só precisa experimentar os dois e ver qual funciona melhor para você. Você pode alternar entre os arquivos 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ê quiser usar oh-my-zsh:
$ ln -s ~/oh-my-zsh.zshrc ~/.zshrc
Ou, se você quiser usar grml:
$ ls -s ~/grml.zshrc ~/.zshrc
Se você não quiser duplicar suas personalizações (o que significa adicionar arquivos ao diretório personalizado para oh-my-zsh e modificar os arquivos pré e locais para grml), uma opção é adicionar suas personalizações a .zshrc.pre
e .zshrc.local
e, em seguida, forneça-os na parte inferior do seu arquivo oh-my-zsh.zshrc
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 arquivo .zshrc.local
e, em seguida, aplicar um condicional em torno dele para garantir que o oh-my-zsh não o execute:
# 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