¿Cuál es la diferencia clave entre grml zsh config y oh-my-zsh config?

15

Ahora estoy en oh-my-zsh, pero no estoy seguro de que sea la elección perfecta. ¿Cuál es la diferencia clave entre grml zsh config ( github repo ) y oh-my-zsh config ? ¿En qué caso debería preferir grml o oh-my-zsh?

petRUShka
fuente
1
Aquí hay otro marco de configuración de zsh que parece prometedor: github.com/sorin-ionescu/prezto . Sé que esto no está relacionado con la pregunta, pero acabo de descubrirlo y pensé que podría estar interesado.
JC Yamokoski
Con respecto a prezto (pero eso no está en la pregunta): se discute mucho, aunque vale la pena señalar que la última confirmación fue hace 10 meses y hay muchas discusiones que condujeron a un nuevo repositorio .
Griffith Rees

Respuestas:

16

No puedo dar un informe detallado de sus diferencias, pero al menos puedo dar una visión general que puede ayudar a responder algunas preguntas básicas y llevarlo a lugares donde puede obtener más información.

oh-my-zsh:

grml-zsh:

Básicamente, las diferencias más aparentes entre los dos son el sistema de plugins / temas de oh-my-zsh y el actualizador automático. Sin embargo, estas características se pueden agregar a grml-zsh con el uso de antigen , que es un administrador de complementos para zsh inspirado en oh-my-zsh.

Antigen le permite definir qué complementos y temas desea usar y luego los descarga y los incluye automáticamente. Irónicamente, sin embargo, la mayoría de los complementos y temas se extraen de la biblioteca de oh-my-zsh, lo que significa que para que funcionen, el antígeno primero debe cargar el núcleo de oh-my-zsh. Entonces, ese enfoque lleva a recrear más o menos oh-my-zsh de una manera indirecta. Sin embargo, si prefiere la configuración de grml a la de oh-my-zsh, esta es una opción válida.

En pocas palabras, creo que solo necesita probar ambas y ver cuál funciona mejor para usted. Puede alternar creando los siguientes archivos: oh-my-zsh.zshrc(archivo predeterminado instalado por oh-my-zsh), grml.zshrc(grml zshrc predeterminado) .zshrc.pre, y .zshrc.local.

Entonces, si quieres usar oh-my-zsh:

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

O, si quieres usar grml:

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

Si no desea duplicar las personalizaciones (es decir, añadir archivos al directorio personalizado para oh-my-zsh y modificar el pre y archivos locales para grml), una opción es añadir personalizaciones a .zshrc.prey .zshrc.localy luego abastecerse en el parte inferior de su oh-my-zsh.zshrcarchivo así:

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

Además, si decide usar antígeno, puede agregarlo a su .zshrc.localarchivo y luego agregar un condicional a su alrededor para asegurarse de que oh-my-zsh no lo ejecute, así:

# 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
fuente