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?
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?
Câu trả lời:
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:
.zshrc.pre
và .zshrc.local
tệpVề 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
và .zshrc.local
và sau đó nguồn chúng ở dưới cùng của oh-my-zsh.zshrc
tậ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.local
tệ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