Was ist der Hauptunterschied zwischen grml zsh config und oh-my-zsh config?

15

Jetzt bin ich auf oh-my-zsh, aber ich bin nicht sicher, ob es die perfekte Wahl ist. Was ist der Hauptunterschied zwischen grml zsh config ( github repo ) und oh-my-zsh config ? In welchem ​​Fall sollte ich grml oder oh-my-zsh bevorzugen?

petRUShka
quelle
1
Hier ist ein weiteres vielversprechendes zsh-Konfigurationsframework: github.com/sorin-ionescu/prezto . Ich weiß, dass dies nichts mit der Frage zu tun hat, aber ich habe es gerade entdeckt und dachte, Sie könnten interessiert sein.
JC Yamokoski
Bezüglich prezto (aber das ist nicht in der Frage): Es wird viel diskutiert, obwohl es erwähnenswert ist, dass das letzte Commit vor 10 Monaten stattgefunden hat und es viele Diskussionen gibt , die zu einem neuen Repo geführt haben .
Griffith Rees

Antworten:

16

Ich kann keinen detaillierten Bericht über ihre Unterschiede geben, aber ich kann zumindest einen umfassenden Überblick geben, der dazu beitragen kann, einige grundlegende Fragen zu beantworten und Sie zu Orten zu führen, an denen Sie mehr erfahren können.

oh-my-zsh:

grml-zsh:

Grundsätzlich sind die offensichtlichsten Unterschiede zwischen den beiden das Plugin / Theme-System von oh-my-zsh und der Auto-Updater. Diese Funktionen können jedoch mit grml-zsh unter Verwendung von Antigen ergänzt werden , einem Plug-in-Manager für zsh, der von oh-my-zsh inspiriert ist.

Mit Antigen können Sie festlegen, welche Plugins und Designs Sie verwenden möchten, und diese dann automatisch herunterladen und einbeziehen. Ironischerweise werden die meisten Plugins und Themes aus der Bibliothek von oh-my-zsh abgerufen, was bedeutet, dass, damit Antigen funktioniert, zuerst der oh-my-zsh-Kern geladen werden muss. Dieser Ansatz führt also dazu, dass oh-my-zsh auf Umwegen mehr oder weniger neu erstellt wird. Wenn Sie jedoch die Konfiguration von grml gegenüber der von oh-my-zsh bevorzugen, ist dies eine gültige Option.

Fazit: Ich glaube, Sie müssen nur beides ausprobieren, um herauszufinden, welches für Sie am besten geeignet ist. Sie können hin und her wechseln, indem Sie die folgenden Dateien erstellen: oh-my-zsh.zshrc(Standarddatei, die von oh-my-zsh installiert wird), grml.zshrc(Standard-grml zshrc) .zshrc.pre, und .zshrc.local.

Dann, wenn Sie oh-my-zsh verwenden möchten:

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

Oder, wenn Sie grml verwenden möchten:

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

Wenn Sie nicht wollen , duplizieren Sie Ihre Anpassungen (die Vor- und lokale Dateien für grml bedeutet das Hinzufügen von Dateien zu dem benutzerdefinierten Verzeichnis für oh-my-zsh und Modifizieren), ist eine Option, Ihre Anpassungen hinzufügen .zshrc.preund .zshrc.localund sie dann an der Quelle Ende Ihrer oh-my-zsh.zshrcDatei wie folgt:

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

Wenn Sie sich für die Verwendung von Antigen entscheiden, können Sie es zu Ihrer .zshrc.localDatei hinzufügen und dann eine Bedingung um die Datei legen, um sicherzustellen, dass oh-my-zsh es nicht ausführt.

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