Apa perbedaan utama antara konfigurasi grml zsh dan konfigurasi oh-my-zsh

15

Sekarang saya di oh-my-zsh, tapi saya tidak yakin itu pilihan yang sempurna. Apa perbedaan utama antara konfigurasi grml zsh ( github repo ) dan konfigurasi oh-my-zsh ? Dalam hal apa saya harus memilih grml atau oh-my-zsh?

petRUShka
sumber
1
Berikut kerangka konfigurasi zsh lain yang terlihat menjanjikan: github.com/sorin-ionescu/prezto . Saya tahu ini tidak terkait dengan pertanyaan tetapi saya baru saja menemukannya dan berpikir Anda mungkin tertarik.
JC Yamokoski
Mengenai prezto (tapi itu tidak ada dalam pertanyaan): itu banyak dibahas meskipun perlu dicatat komit terakhir adalah 10 bulan yang lalu dan ada banyak diskusi yang mengarah pada repo baru .
Griffith Rees

Jawaban:

16

Saya tidak dapat memberikan laporan terperinci tentang perbedaan mereka, tetapi setidaknya saya dapat memberikan tinjauan luas yang dapat membantu menjawab beberapa pertanyaan dasar dan mengarahkan Anda ke tempat-tempat di mana Anda dapat mempelajari lebih lanjut.

oh-my-zsh:

grml-zsh:

Pada dasarnya, perbedaan yang paling jelas antara keduanya adalah sistem plugin / tema oh-my-zsh dan auto-updater. Namun, fitur-fitur ini dapat ditambahkan ke grml-zsh dengan penggunaan antigen , yang merupakan pengelola plugin untuk zsh yang terinspirasi oleh oh-my-zsh.

Antigen memungkinkan Anda untuk menentukan plugin dan tema mana yang ingin Anda gunakan dan kemudian mengunduh dan memasukkannya untuk Anda secara otomatis. Ironisnya, sebagian besar plugin dan tema diambil dari pustaka oh-my-zsh yang artinya agar antigen dapat berfungsi, harus terlebih dahulu memuat inti oh-my-zsh. Jadi, pendekatan itu mengarah pada kurang lebih menciptakan kembali oh-my-zsh secara tidak langsung. Namun, jika Anda lebih suka konfigurasi grml daripada oh-my-zsh maka ini adalah opsi yang valid.

Intinya, saya yakin Anda hanya perlu mencoba keduanya dan melihat mana yang paling cocok untuk Anda. Anda dapat beralih bolak-balik dengan membuat file berikut: oh-my-zsh.zshrc(file default diinstal oleh oh-my-zsh), grml.zshrc(default grml zshrc) .zshrc.pre,, dan .zshrc.local.

Lalu jika Anda ingin menggunakan oh-my-zsh:

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

Atau, jika Anda ingin menggunakan grml:

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

Jika Anda tidak ingin menduplikasi kustomisasi Anda (yang berarti menambahkan file ke direktori kustom untuk oh-my-zsh dan memodifikasi pra dan file lokal untuk grml), salah satu pilihan adalah untuk menambahkan kustomisasi untuk .zshrc.predan .zshrc.localkemudian sumber mereka di bagian bawah oh-my-zsh.zshrcfile Anda seperti ini:

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

Juga, jika Anda memutuskan untuk menggunakan antigen, Anda dapat menambahkannya ke .zshrc.localfile Anda dan kemudian melemparkan kondisional di sekitarnya untuk memastikan bahwa oh-my-zsh tidak menjalankannya, seperti:

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