RepoTrending
Về bảng xếp hạng
GitHubFramework / Hạ tầngShell

ohmyzsh/ohmyzsh

🙃 Một khuôn khổ thú vị dựa vào cộng đồng (với hơn 2.500 người đóng góp) để quản lý cấu hình zsh của bạn. Bao gồm hơn 300 plugin tùy chọn (Rails, git, macOS, hub, Docker, homebrew, nút, php, Python, v.v.), hơn 140 chủ đề để thêm gia vị cho buổi sáng của bạn và một công cụ tự động cập nhật giúp bạn dễ dàng cập nhật các bản cập nhật mới nhất từ ​​cộng đồng.

189k sao27k fork

README

Oh My Zsh

Oh My Zsh là một framework mã nguồn mở, hướng tới cộng đồng để quản lý zsh cấu hình.

Nghe có vẻ nhàm chán. Hãy thử lại.

Oh My Zsh sẽ không giúp bạn trở thành nhà phát triển gấp 10 lần...nhưng bạn có thể cảm thấy như vậy.

Sau khi cài đặt, vỏ thiết bị đầu cuối của bạn sẽ trở thành chủ đề bàn tán của thị trấn hoặc tiền của bạn trở lại! Với mỗi lần nhấn phím trong dấu nhắc lệnh, bạn sẽ tận dụng được hàng trăm plugin mạnh mẽ và các chủ đề đẹp mắt. Những người lạ sẽ đến gặp bạn trong quán cà phê và hỏi bạn: "thật tuyệt vời! Bạn có phải là thiên tài không?"

Cuối cùng, bạn sẽ bắt đầu nhận được sự quan tâm mà bạn luôn cảm thấy mình xứng đáng được nhận. ...hoặc có thể bạn sẽ sử dụng thời gian tiết kiệm được để bắt đầu dùng chỉ nha khoa thường xuyên hơn. 😬

Để tìm hiểu thêm, hãy truy cập ohmyz.sh, theo dõi @ohmyzsh trên X (trước đây là Twitter) và tham gia cùng chúng tôi trên Bất hòa.

CI OpenSSF Best Practices X (formerly Twitter) Follow Mastodon Follow Discord server

Mục lục

Bắt đầu

Khả năng tương thích của hệ điều hành

Vận hành/S Trạng thái
Android
BSD miễn phí
LCAR 🛸
Linux
macOS
OS/2 cong vênh
Windows (WSL2)

Điều kiện tiên quyết

  • Zsh nên được cài đặt (v4.3.9 hoặc mới hơn cũng được nhưng chúng tôi thích phiên bản 5.0.8 và mới hơn). Nếu chưa được cài đặt sẵn (chạy zsh --version để xác nhận), hãy kiểm tra các hướng dẫn wiki sau đây: Cài đặt ZSH
  • curl hoặc wget nên được cài đặt
  • git nên được cài đặt (khuyến nghị v2.4.11 trở lên)

Cài đặt cơ bản

Oh My Zsh được cài đặt bằng cách chạy một trong các lệnh sau trong terminal của bạn. Bạn có thể cài đặt cái này thông qua dòng lệnh bằng một trong hai curl, wget hoặc một công cụ tương tự khác.

phương pháp Lệnh
cuộn tròn sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
quên sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
lấy sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Ngoài ra, trình cài đặt cũng được phản chiếu bên ngoài GitHub. Thay vào đó, bạn có thể phải sử dụng URL này nếu bạn ở một quốc gia như Trung Quốc hoặc Ấn Độ (đối với một số ISP nhất định), chặn raw.githubusercontent.com:

phương pháp Lệnh
cuộn tròn sh -c "$(curl -fsSL https://install.ohmyz.sh/)"
quên sh -c "$(wget -O- https://install.ohmyz.sh/)"
lấy sh -c "$(fetch -o - https://install.ohmyz.sh/)"

Lưu ý rằng bất kỳ trước đó .zshrc sẽ được đổi tên thành .zshrc.pre-oh-my-zsh. Sau khi cài đặt, bạn có thể di chuyển cấu hình bạn muốn giữ nguyên sang cấu hình mới .zshrc.

Kiểm tra thủ công

Bạn nên kiểm tra tập lệnh cài đặt từ các dự án mà bạn chưa biết. Bạn có thể làm điều đó bằng cách tải xuống tập lệnh cài đặt trước, xem qua nó để mọi thứ trông bình thường, sau đó chạy nó:

wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh

Nếu URL trên hết thời gian hoặc không thành công, bạn có thể phải thay thế URL cho https://install.ohmyz.sh để có thể lấy được kịch bản.

Sử dụng Oh My Zsh

Plugin

Oh My Zsh có rất nhiều plugin để bạn tận dụng. Bạn có thể xem trong plugin thư mục và/hoặc wiki để xem những gì hiện có sẵn.

Kích hoạt plugin

Khi bạn phát hiện ra một (hoặc một số) plugin mà bạn muốn sử dụng với Oh My Zsh, bạn cần bật chúng trong .zshrc tập tin. Bạn sẽ tìm thấy tệp zshrc trong $HOME thư mục. Mở nó bằng trình soạn thảo văn bản yêu thích của bạn và bạn sẽ thấy một vị trí liệt kê tất cả các plugin bạn muốn tải.

vi ~/.zshrc

Ví dụ: điều này có thể bắt đầu trông như thế này:

plugins=(
  git
  bundler
  dotenv
  macos
  rake
  rbenv
  ruby
)

Lưu ý rằng các plugin được phân tách bằng khoảng trắng (dấu cách, tab, dòng mới ...). Đừng sử dụng dấu phẩy giữa chúng nếu không nó sẽ bị hỏng.

Sử dụng plugin

Mỗi plugin tích hợp bao gồm một ĐỌC TÔI, ghi lại nó. README này sẽ hiển thị các bí danh (nếu plugin thêm bất kỳ plugin nào) và các tính năng bổ sung được bao gồm trong plugin cụ thể đó.

Chủ đề

Chúng tôi sẽ thừa nhận nó. Thời kỳ đầu trong thế giới Oh My Zsh, chúng ta có thể hơi quá hài lòng với chủ đề. Hiện tại chúng tôi có hơn 150 chủ đề được đóng gói. Hầu hết trong số họ có ảnh chụp màn hình trên wiki (Chúng tôi đang nỗ lực cập nhật thông tin này!). Kiểm tra chúng ra!

Chọn một chủ đề

Chủ đề của Robby là chủ đề mặc định. Nó không phải là một trong những ưa thích nhất. Nó không phải là đơn giản nhất. Đó là điều đúng đắn (đối với anh ấy).

Khi bạn tìm thấy chủ đề mà bạn muốn sử dụng, bạn sẽ cần chỉnh sửa ~/.zshrc tập tin. Bạn sẽ thấy một biến môi trường (tất cả chữ hoa) trong đó trông giống như:

ZSH_THEME="robbyrussell"

Để sử dụng một chủ đề khác, chỉ cần thay đổi giá trị để khớp với tên chủ đề bạn muốn. Ví dụ:

ZSH_THEME="agnoster" # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster

[!LƯU Ý] Bạn sẽ nhiều lần nhìn thấy ảnh chụp màn hình của một chủ đề zsh và dùng thử và nhận thấy rằng nó trông không giống với bạn.

Điều này là do nhiều chủ đề yêu cầu cài đặt một Phông chữ đường dây điện hoặc một Phông chữ mọt sách để hiển thị đúng cách. Nếu không có chúng, những chủ đề này sẽ hiển thị những biểu tượng nhắc nhở kỳ lạ. Kiểm tra câu hỏi thường gặp để biết thêm thông tin.

Ngoài ra, hãy lưu ý rằng chủ đề chỉ kiểm soát lời nhắc của bạn trông như thế nào. Đây là văn bản bạn nhìn thấy trước hoặc sau Cursor, nơi bạn sẽ nhập lệnh của mình. Chủ đề không kiểm soát những thứ như màu sắc của cửa sổ terminal của bạn (được gọi là cách phối màu) hoặc phông chữ của thiết bị đầu cuối của bạn. Đây là những cài đặt mà bạn có thể thay đổi trong trình mô phỏng thiết bị đầu cuối của mình. Để biết thêm thông tin, xem chủ đề zsh là gì.

Mở một cửa sổ terminal mới và lời nhắc của bạn sẽ trông giống như thế này:

Agnoster theme

Trong trường hợp bạn không tìm thấy chủ đề phù hợp với nhu cầu của mình, vui lòng xem wiki để biết nhiều hơn trong số họ.

Nếu cảm thấy khó chịu, bạn có thể để máy tính chọn ngẫu nhiên một cái cho bạn mỗi khi bạn mở một cửa sổ terminal mới.

ZSH_THEME="random" # (...please let it be pie... please be some pie..)

Và nếu bạn muốn chọn một chủ đề ngẫu nhiên từ danh sách các chủ đề yêu thích của mình:

ZSH_THEME_RANDOM_CANDIDATES=(
  "robbyrussell"
  "agnoster"
)

Nếu bạn chỉ biết mình không thích chủ đề nào, bạn có thể thêm chúng tương tự như danh sách bỏ qua:

ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)

Câu hỏi thường gặp

Nếu bạn có thêm một số câu hỏi hoặc vấn đề, bạn có thể tìm thấy giải pháp trong Câu hỏi thường gặp.

Chủ đề nâng cao

Nếu bạn là loại người thích làm bẩn tay mình thì những phần này có thể gây được tiếng vang.

Cài đặt nâng cao

Một số người dùng có thể muốn cài đặt Oh My Zsh theo cách thủ công hoặc thay đổi đường dẫn mặc định hoặc các cài đặt khác mà trình cài đặt chấp nhận (các cài đặt này cũng được ghi lại ở đầu tập lệnh cài đặt).

Thư mục tùy chỉnh

Vị trí mặc định là ~/.oh-my-zsh (ẩn trong thư mục chính của bạn, bạn có thể truy cập nó bằng cd ~/.oh-my-zsh)

Nếu bạn muốn thay đổi thư mục cài đặt bằng ZSH biến môi trường, bằng cách chạy export ZSH=/your/path trước khi cài đặt hoặc bằng cách đặt nó trước khi kết thúc quá trình cài đặt như thế này:

ZSH="$HOME/.dotfiles/oh-my-zsh" sh install.sh

Cài đặt không cần giám sát

Nếu bạn đang chạy tập lệnh cài đặt Oh My Zsh như một phần của quá trình cài đặt tự động, bạn có thể chuyển --unattended gắn cờ cho install.sh kịch bản. Điều này sẽ có tác dụng là không cố thay đổi shell mặc định và nó cũng không chạy zsh khi quá trình cài đặt kết thúc.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended

Nếu bạn ở Trung Quốc, Ấn Độ hoặc quốc gia khác chặn raw.githubusercontent.com, bạn có thể phải thay thế URL cho https://install.ohmyz.sh để nó cài đặt.

Cài đặt từ kho lưu trữ rẽ nhánh

Tập lệnh cài đặt cũng chấp nhận các biến này để cho phép cài đặt một kho lưu trữ khác:

  • REPO (mặc định: ohmyzsh/ohmyzsh): cái này có dạng owner/repository. Nếu bạn đặt biến này, trình cài đặt sẽ tìm kho lưu trữ tại https://github.com/{owner}/{repository}.

  • REMOTE (mặc định: https://github.com/${REPO}.git): đây là URL đầy đủ của bản sao kho git. Bạn có thể sử dụng cài đặt này nếu bạn muốn cài đặt từ một nhánh không có trên GitHub (GitLab, Bitbucket...) hoặc nếu bạn muốn sao chép bằng SSH thay vì HTTPS ([email protected]:user/project.git).

    LƯU Ý: nó không tương thích với việc cài đặt REPO biến. Cài đặt này sẽ được ưu tiên.

  • BRANCH (mặc định: master): bạn có thể sử dụng cài đặt này nếu bạn muốn thay đổi nhánh mặc định cần kiểm tra khi sao chép kho lưu trữ. Điều này có thể hữu ích khi kiểm tra Yêu cầu kéo hoặc nếu bạn muốn sử dụng một nhánh khác ngoài master.

Ví dụ:

REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh

Cài đặt thủ công

1. Sao chép kho lưu trữ
git clone https://github.com/ohmyzsh/ohmyzsh.git ~/.oh-my-zsh
2. Tùy chọn, Sao lưu hiện tại của bạn ~/.zshrc tập tin
cp ~/.zshrc ~/.zshrc.orig
3. Tạo tệp cấu hình Zsh mới

Bạn có thể tạo tệp cấu hình zsh mới bằng cách sao chép mẫu mà chúng tôi đã đưa vào cho bạn.

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
4. Thay đổi Shell mặc định của bạn
chsh -s $(which zsh)

Bạn phải đăng xuất khỏi phiên người dùng của mình và đăng nhập lại để xem thay đổi này.

5. Khởi tạo cấu hình Zsh mới của bạn

Khi bạn mở một cửa sổ terminal mới, nó sẽ tải zsh với cấu hình của Oh My Zsh.

Sự cố cài đặt

Nếu bạn gặp bất kỳ trục trặc nào khi cài đặt, dưới đây là một số cách khắc phục phổ biến.

  • bạn có thể cần phải sửa đổi của bạn PATH trong ~/.zshrc nếu bạn không thể tìm thấy một số lệnh sau khi chuyển sang oh-my-zsh.
  • Nếu bạn cài đặt thủ công hoặc thay đổi vị trí cài đặt, hãy kiểm tra ZSH biến môi trường trong ~/.zshrc.

Plugin và chủ đề tùy chỉnh

Nếu bạn muốn ghi đè bất kỳ hành vi mặc định nào, chỉ cần thêm một tệp mới (kết thúc bằng .zsh) trong custom/ thư mục.

Nếu bạn có nhiều chức năng phối hợp tốt với nhau, bạn có thể đặt chúng làm XYZ.plugin.zsh tập tin trong custom/plugins/ thư mục và sau đó kích hoạt plugin này.

Nếu bạn muốn ghi đè chức năng của plugin được phân phối bằng Oh My Zsh, hãy tạo một plugin có cùng tên trong custom/plugins/ thư mục và nó sẽ được tải thay vì thư mục trong plugins/.

Kích hoạt GNU ls trong hệ thống macOS và FreeBSD

Hành vi mặc định trong Oh My Zsh là sử dụng BSD ls trong hệ thống macOS và FreeBSD. Nếu GNU ls được cài đặt (như gls lệnh), bạn có thể chọn sử dụng nó thay thế. Để làm điều đó, bạn có thể sử dụng cấu hình dựa trên zstyle trước khi tìm nguồn cung ứng oh-my-zsh.sh:

zstyle ':omz:lib:theme-and-appearance' gnu-ls yes

Lưu ý: điều này không tương thích với DISABLE_LS_COLORS=true

Bỏ qua bí danh

Nếu bạn muốn bỏ qua các bí danh Oh My Zsh mặc định (những bí danh được xác định trong lib/* tập tin) hoặc bí danh plugin, bạn có thể sử dụng các cài đặt bên dưới trong ~/.zshrc tập tin, trước khi Oh My Zsh được tải. Lưu ý rằng có nhiều cách khác nhau để bỏ qua bí danh, tùy theo nhu cầu của bạn.

# Skip all aliases, in lib files and enabled plugins
zstyle ':omz:*' aliases no

# Skip all aliases in lib files
zstyle ':omz:lib:*' aliases no
# Skip only aliases defined in the directories.zsh lib file
zstyle ':omz:lib:directories' aliases no

# Skip all plugin aliases
zstyle ':omz:plugins:*' aliases no
# Skip only the aliases from the git plugin
zstyle ':omz:plugins:git' aliases no

Bạn có thể kết hợp những điều này theo những cách khác có tính đến các phạm vi cụ thể hơn được ưu tiên:

# Skip all plugin aliases, except for the git plugin
zstyle ':omz:plugins:*' aliases no
zstyle ':omz:plugins:git' aliases yes

Phiên bản trước của tính năng này đang sử dụng cài đặt bên dưới, cài đặt này đã bị xóa:

zstyle ':omz:directories' aliases no

Thay vào đó, bây giờ bạn có thể sử dụng như sau:

zstyle ':omz:lib:directories' aliases no

thông báo

Tính năng này hiện đang trong giai đoạn thử nghiệm và có thể thay đổi trong tương lai. Nó hiện cũng không tương thích với các trình quản lý plugin như zpm hoặc zinit, những trình quản lý này không lấy nguồn tập lệnh init (oh-my-zsh.sh) nơi tính năng này được triển khai.

Hiện tại nó cũng không biết về "bí danh" được định nghĩa là hàm. Ví dụ như vậy là gccd, ggfhoặc ggl chức năng từ plugin git.

Lời nhắc git không đồng bộ

Chức năng lời nhắc không đồng bộ là một tính năng thử nghiệm (được đưa vào ngày 3 tháng 4 năm 2024) cho phép Oh My Zsh hiển thị thông tin lời nhắc một cách không đồng bộ. Điều này có thể cải thiện hiệu suất hiển thị nhanh chóng nhưng có thể không hoạt động tốt với một số thiết lập. Chúng tôi hy vọng đó không phải là vấn đề, nhưng nếu gặp vấn đề với tính năng mới này, bạn có thể tắt tính năng này bằng cách đặt thông tin sau trong tệp .zshrc của mình trước khi Oh My Zsh được lấy nguồn:

zstyle ':omz:alpha:lib:git' async-prompt no

Nếu vấn đề của bạn là dấu nhắc git vừa ngừng xuất hiện, bạn có thể thử ép buộc nó bằng cách đặt cấu hình sau trước oh-my-zsh.sh có nguồn gốc. Nếu nó vẫn không hoạt động, vui lòng mở một vấn đề với trường hợp của bạn.

zstyle ':omz:alpha:lib:git' async-prompt force

Nhận thông tin cập nhật

Theo mặc định, bạn sẽ được nhắc kiểm tra cập nhật 2 tuần một lần. Bạn có thể chọn các chế độ cập nhật khác bằng cách thêm một dòng vào ~/.zshrc tập tin, trước khi Oh My Zsh được tải:

  1. Tự động cập nhật mà không có lời nhắc xác nhận:

    zstyle ':omz:update' mode auto
    
  2. Chỉ cần đưa ra lời nhắc vài ngày một lần nếu có bản cập nhật:

    zstyle ':omz:update' mode reminder
    
  3. Để tắt hoàn toàn cập nhật tự động:

    zstyle ':omz:update' mode disabled
    

LƯU Ý: bạn có thể kiểm soát tần suất Oh My Zsh kiểm tra các bản cập nhật bằng cài đặt sau:

# This will check for updates every 7 days
zstyle ':omz:update' frequency 7
# This will check for updates every time you open the terminal (not recommended)
zstyle ':omz:update' frequency 0

Cập nhật chi tiết

Bạn cũng có thể giới hạn mức độ chi tiết của bản cập nhật bằng các cài đặt sau:

zstyle ':omz:update' verbose default # default update prompt

zstyle ':omz:update' verbose minimal # only few lines

zstyle ':omz:update' verbose silent # only errors

Cập nhật thủ công

Nếu bạn muốn cập nhật bất kỳ lúc nào (có thể ai đó vừa phát hành plugin mới và bạn không muốn đợi một tuần?), bạn chỉ cần chạy:

omz update

[!LƯU Ý] Nếu bạn muốn tự động hóa quá trình này trong một tập lệnh, bạn nên gọi trực tiếp upgrade kịch bản, như thế này:

$ZSH/tools/upgrade.sh

Xem thêm lựa chọn trong Câu hỏi thường gặp: Làm cách nào để cập nhật Oh My Zsh?.

SỬ DỤNG omz update --unattended ĐÃ BỊ LOẠI BỎ VÌ NÓ CÓ TÁC DỤNG PHỤ.

Phép thuật! 🎉

Gỡ cài đặt Oh My Zsh

Oh My Zsh không dành cho tất cả mọi người. Chúng tôi sẽ nhớ bạn, nhưng chúng tôi muốn biến việc chia tay này thành một cuộc chia tay dễ dàng.

Nếu bạn muốn gỡ cài đặt oh-my-zsh, chạy thôi uninstall_oh_my_zsh từ dòng lệnh. Nó sẽ tự xóa và hoàn nguyên trước đó của bạn bash hoặc zsh cấu hình.

Tôi có thể đóng góp cho Oh My Zsh bằng cách nào?

Trước khi bạn tham gia vào cộng đồng thú vị của chúng tôi, vui lòng đọc quy tắc ứng xử.

Tôi còn lâu mới trở thành một Zsh chuyên gia và nghi ngờ có nhiều cách để cải thiện – nếu bạn có ý tưởng về cách làm cho cấu hình dễ bảo trì hơn (và nhanh hơn), đừng ngần ngại phân nhánh và gửi yêu cầu kéo!

Chúng tôi cũng cần người thử nghiệm các yêu cầu kéo. Vì vậy hãy xem qua những vấn đề mở và giúp đỡ khi bạn có thể.

Xem Đóng góp để biết thêm chi tiết.

Đừng gửi chủ đề cho chúng tôi

Hiện tại chúng tôi có (hơn) đủ chủ đề. Vui lòng thêm chủ đề của bạn vào chủ đề bên ngoài trang wiki.

Người đóng góp

Oh My Zsh có một cộng đồng sôi động gồm những người dùng vui vẻ và những người đóng góp thú vị. Nếu không có thời gian và sự giúp đỡ từ những người đóng góp của chúng tôi, nó sẽ không tuyệt vời đến thế.

Cảm ơn bạn rất nhiều!

Theo dõi chúng tôi

Chúng tôi đang ở trên phương tiện truyền thông xã hội:

  • @ohmyzsh trên X (trước đây là Twitter). Bạn nên làm theo nó.
  • Facebook chọc chúng tôi.
  • Instagram gắn thẻ chúng tôi trong bài đăng của bạn hiển thị Oh My Zsh!
  • Bất hòa để trò chuyện với chúng tôi!

Hàng hóa

Chúng tôi có nhãn dán, áo sơ mi và cốc cà phê có sẵn để bạn thể hiện tình yêu của mình với Oh My Zsh. Một lần nữa, bạn sẽ trở thành chủ đề bàn tán của thị trấn!

Giấy phép

Oh My Zsh được phát hành dưới tên giấy phép MIT.

Giới thiệu về hành tinh Argon

Planet Argon

Oh My Zsh được nhóm bắt đầu vào lúc Hành tinh Argon, một Cơ quan phát triển Ruby trên Rails. Kiểm tra của chúng tôi các dự án nguồn mở khác.

Dự án cùng danh mục

vinta/awesome-python

Danh sách dứt khoát trả lời "Tôi muốn thực hiện X trong Python, tôi nên sử dụng công cụ nào?"

316k29k17 giờ trước
GitHubFramework / Hạ tầngPython

react/react

Thư viện dành cho web và giao diện người dùng gốc.

248k51k1 giờ trước
GitHubFramework / Hạ tầngJavaScript

n8n-io/n8n

Nền tảng tự động hóa quy trình làm việc theo mã hợp lý với khả năng AI gốc. Kết hợp xây dựng trực quan với mã tùy chỉnh, tự lưu trữ hoặc đám mây, hơn 400 tích hợp.

202k60k1 giờ trước
GitHubFramework / Hạ tầngTypeScript

tensorflow/tensorflow

Khung học máy nguồn mở cho mọi người

198k76k2 phút trước
GitHubFramework / Hạ tầngC++

DigitalPlatDev/FreeDomain

Đăng ký tên miền miễn phí và tài nguyên học tập DNS thiết thực cho mọi người.

194k4.2k12 ngày trước
GitHubFramework / Hạ tầngMarkdown

avelino/awesome-go

Một danh sách được tuyển chọn gồm các framework, thư viện và phần mềm Go tuyệt vời

182k14k8 giờ trước
GitHubFramework / Hạ tầngGo
ohmyzsh/ohmyzsh — Repo Trending