Sự khác biệt chính giữa cấu hình grml zsh và cấu hình oh-my-zsh là gì


15

Bây giờ tôi đang ở trên oh-my-zsh, nhưng tôi không chắc rằng đó là sự lựa chọn hoàn hảo. Sự khác biệt chính giữa cấu hình grml zsh ( github repo ) và cấu hình oh-my-zsh là gì? Trong trường hợp nào tôi nên dùng grml hoặc oh-my-zsh?


1
Đây là một khung cấu hình zsh khác có vẻ đầy hứa hẹn: github.com/sorin-ionescu/prezto . Tôi biết điều này không liên quan đến câu hỏi nhưng tôi chỉ phát hiện ra nó và nghĩ rằng bạn có thể quan tâm.
JC Yamokoski

Về prezto (nhưng điều đó không có trong câu hỏi): nó được thảo luận nhiều mặc dù đáng chú ý là lần cam kết cuối cùng là 10 tháng trước và có rất nhiều cuộc thảo luận dẫn đến một repo mới .
Griffith Rees

Câu trả lời:


16

Tôi không thể đưa ra một báo cáo chi tiết về sự khác biệt của họ nhưng ít nhất tôi có thể đưa ra một cái nhìn tổng quan rộng có thể giúp trả lời một số câu hỏi cơ bản và dẫn bạn đến những nơi bạn có thể tìm hiểu thêm.

oh-my-zsh:

grml-zsh:

Về cơ bản, sự khác biệt rõ ràng nhất giữa hai loại này là hệ thống plugin / chủ đề của oh-my-zsh và trình cập nhật tự động. Tuy nhiên, các tính năng này có thể được thêm vào grml-zsh với việc sử dụng kháng nguyên , đây là trình quản lý plugin cho zsh lấy cảm hứng từ oh-my-zsh.

Kháng nguyên cho phép bạn xác định các plugin và chủ đề bạn muốn sử dụng, sau đó tải xuống và bao gồm chúng cho bạn tự động. Tuy nhiên, trớ trêu thay, hầu hết các plugin và chủ đề được lấy từ thư viện của oh-my-zsh, điều đó có nghĩa là để chúng hoạt động, kháng nguyên trước tiên phải tải lõi oh-my-zsh. Vì vậy, cách tiếp cận đó dẫn đến việc tái tạo ít nhiều oh-my-zsh theo cách vòng vo. Tuy nhiên, nếu bạn thích cấu hình của grml hơn oh-my-zsh thì đây là một tùy chọn hợp lệ.

Tóm lại, tôi tin rằng bạn chỉ cần thử cả hai và xem cái nào phù hợp nhất với bạn. Bạn có thể chuyển đổi qua lại bằng cách tạo các tệp sau: oh-my-zsh.zshrc(tệp mặc định được cài đặt bởi oh-my-zsh), grml.zshrc(grml zshrc mặc định) .zshrc.pre, và .zshrc.local.

Sau đó, nếu bạn muốn sử dụng oh-my-zsh:

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

Hoặc, nếu bạn muốn sử dụng grml:

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

Nếu bạn không muốn lặp lại các tùy chỉnh của bạn (có nghĩa là thêm các tập tin vào thư mục tùy chỉnh cho oh-my-zsh và sửa đổi trước và các tập tin địa phương cho grml), một lựa chọn là thêm các tùy chỉnh của bạn để .zshrc.pre.zshrc.localvà sau đó nguồn chúng ở dưới cùng của oh-my-zsh.zshrctập tin của bạn như vậy:

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

Ngoài ra, nếu bạn quyết định sử dụng kháng nguyên, bạn có thể thêm nó vào .zshrc.localtệp của mình và sau đó ném một điều kiện xung quanh nó để đảm bảo rằng oh-my-zsh không chạy nó, như vậy:

# 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.