Oh My Zsh เป็นเฟรมเวิร์กโอเพ่นซอร์สที่ขับเคลื่อนโดยชุมชนสำหรับจัดการการกำหนดค่า zsh ของคุณ
ฟังดูน่าเบื่อ ลองอีกครั้ง
Oh My Zsh จะไม่ทำให้คุณเป็นนักพัฒนา 10 เท่า...แต่คุณอาจรู้สึกเหมือนเป็นนักพัฒนา
เมื่อติดตั้งแล้ว เทอร์มินัลเชลล์ของคุณจะกลายเป็นทอล์คออฟเดอะทาวน์ หรือคืนเงินให้คุณ! ด้วยการกดแป้นพิมพ์แต่ละครั้งใน Command Prompt คุณจะได้รับประโยชน์จากปลั๊กอินอันทรงพลังและธีมที่สวยงามนับร้อยรายการ คนแปลกหน้าจะเข้ามาหาคุณในร้านกาแฟแล้วถามคุณว่า "น่าทึ่งมาก! คุณเป็นอัจฉริยะหรือเปล่า?"
ในที่สุด คุณจะเริ่มได้รับความสนใจแบบที่คุณรู้สึกว่าสมควรได้รับมาโดยตลอด ...หรือบางทีคุณอาจจะใช้เวลาที่คุณประหยัดได้เพื่อเริ่มใช้ไหมขัดฟันให้บ่อยขึ้น -
หากต้องการเรียนรู้เพิ่มเติม โปรดไปที่ ohmyz.sh ติดตาม @ohmyzsh บน X (ชื่อเดิม Twitter) และเข้าร่วมกับเราบน Discord
โอ/เอส | สถานะ |
---|---|
หุ่นยนต์ | |
ฟรีBSD | |
แอลคาร์ส | - |
ลินุกซ์ | |
ระบบปฏิบัติการ macOS | |
OS/2 วาร์ป | |
วินโดวส์ (WSL2) |
zsh --version
เพื่อยืนยัน) ให้ตรวจสอบคำแนะนำวิกิต่อไปนี้ที่นี่: การติดตั้ง ZSHcurl
หรือ wget
git
(แนะนำ v2.4.11 หรือสูงกว่า) Oh My Zsh ได้รับการติดตั้งโดยการรันคำสั่งใดคำสั่งหนึ่งต่อไปนี้ในเทอร์มินัลของคุณ คุณสามารถติดตั้งสิ่งนี้ผ่านทางบรรทัดคำสั่งด้วย curl
, wget
หรือเครื่องมืออื่นที่คล้ายกัน
วิธี | สั่งการ |
---|---|
ขด | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
ตกลง | sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
ดึง | sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
หรืออีกทางหนึ่ง ตัวติดตั้งจะถูกมิเรอร์ภายนอก GitHub ด้วย อาจจำเป็นต้องใช้ URL นี้แทน หากคุณอยู่ในประเทศเช่นจีนหรืออินเดีย (สำหรับ ISP บางแห่ง) ที่บล็อก raw.githubusercontent.com
:
วิธี | สั่งการ |
---|---|
ขด | sh -c "$(curl -fsSL https://install.ohmyz.sh/)" |
ตกลง | sh -c "$(wget -O- https://install.ohmyz.sh/)" |
ดึง | sh -c "$(fetch -o - https://install.ohmyz.sh/)" |
โปรดทราบว่า .zshrc
ก่อนหน้านี้จะถูกเปลี่ยนชื่อเป็น .zshrc.pre-oh-my-zsh
หลังจากการติดตั้ง คุณสามารถย้ายการกำหนดค่าที่คุณต้องการเก็บรักษาไปยัง .zshrc
ใหม่ได้
เป็นความคิดที่ดีที่จะตรวจสอบสคริปต์การติดตั้งจากโปรเจ็กต์ที่คุณยังไม่รู้ คุณสามารถทำได้โดยการดาวน์โหลดสคริปต์การติดตั้งก่อน จากนั้นตรวจดูเพื่อให้ทุกอย่างดูเป็นปกติ จากนั้นจึงเรียกใช้:
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
หาก URL ข้างต้นหมดเวลาหรือล้มเหลว คุณอาจต้องแทนที่ URL เป็น https://install.ohmyz.sh
เพื่อให้สามารถรับสคริปต์ได้
Oh My Zsh มาพร้อมกับปลั๊กอินมากมายให้คุณใช้ประโยชน์ คุณสามารถดูในไดเร็กทอรีปลั๊กอินและ/หรือวิกิเพื่อดูว่ามีอะไรให้บริการบ้างในปัจจุบัน
เมื่อคุณพบปลั๊กอิน (หรือหลายรายการ) ที่คุณต้องการใช้กับ Oh My Zsh คุณจะต้องเปิดใช้งานปลั๊กอินเหล่านั้นในไฟล์ .zshrc
คุณจะพบไฟล์ zshrc ในไดเรกทอรี $HOME
ของคุณ เปิดด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบแล้วคุณจะเห็นรายการปลั๊กอินทั้งหมดที่คุณต้องการโหลด
vi ~ /.zshrc
ตัวอย่างเช่น สิ่งนี้อาจเริ่มมีลักษณะดังนี้:
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
โปรดทราบว่าปลั๊กอินจะถูกคั่นด้วยช่องว่าง (ช่องว่าง แท็บ บรรทัดใหม่...) อย่า ใช้เครื่องหมายจุลภาคระหว่างพวกเขา ไม่เช่นนั้นมันจะพัง
ปลั๊กอินในตัวแต่ละตัวจะมี README คอยจัดทำเอกสารไว้ README นี้ควรแสดงนามแฝง (หากปลั๊กอินเพิ่ม) และสินค้าพิเศษที่รวมอยู่ในปลั๊กอินนั้น ๆ
เราจะยอมรับมัน. ในช่วงต้นของโลก Oh My Zsh เราอาจได้รับธีมที่มีความสุขมากเกินไป ขณะนี้เรามีธีมมากกว่าร้อยห้าสิบธีมที่รวมไว้แล้ว ส่วนใหญ่มีภาพหน้าจอบนวิกิ (เรากำลังดำเนินการอัปเดตสิ่งนี้!) ตรวจสอบพวกเขาออก!
ธีมของ Robby เป็นธีมเริ่มต้น มันไม่ใช่สิ่งที่เพ้อฝันที่สุด มันไม่ใช่วิธีที่ง่ายที่สุด เป็นสิ่งที่ใช่ (สำหรับเขา)
เมื่อคุณพบธีมที่ต้องการใช้แล้ว คุณจะต้องแก้ไขไฟล์ ~/.zshrc
คุณจะเห็นตัวแปรสภาพแวดล้อม (ตัวพิมพ์ใหญ่ทั้งหมด) ในนั้นซึ่งมีลักษณะดังนี้:
ZSH_THEME= " robbyrussell "
หากต้องการใช้ธีมอื่น เพียงเปลี่ยนค่าให้ตรงกับชื่อธีมที่คุณต้องการ ตัวอย่างเช่น:
ZSH_THEME= " agnoster " # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
บันทึก
คุณจะเห็นภาพหน้าจอสำหรับธีม zsh หลายครั้ง และลองใช้ดู และพบว่าธีมนั้นดูไม่เหมือนกันสำหรับคุณ
เนื่องจากธีมจำนวนมากจำเป็นต้องติดตั้งแบบอักษร Powerline หรือแบบอักษร Nerd เพื่อให้สามารถแสดงผลได้อย่างถูกต้อง หากไม่มีธีมเหล่านี้ ธีมเหล่านี้จะแสดงสัญลักษณ์แสดงข้อความแจ้งแปลกๆ ตรวจสอบคำถามที่พบบ่อยสำหรับข้อมูลเพิ่มเติม
นอกจากนี้ ระวังด้วยว่าธีมจะควบคุมเฉพาะลักษณะของข้อความแจ้งของคุณเท่านั้น นี่คือข้อความที่คุณเห็นก่อนหรือหลังเคอร์เซอร์ที่คุณใช้พิมพ์คำสั่ง ธีมไม่ได้ควบคุมสิ่งต่างๆ เช่น สีของหน้าต่างเทอร์มินัลของคุณ (เรียกว่า โทนสี ) หรือแบบอักษรของเทอร์มินัลของคุณ นี่คือการตั้งค่าที่คุณสามารถเปลี่ยนแปลงได้ในโปรแกรมจำลองเทอร์มินัล สำหรับข้อมูลเพิ่มเติม โปรดดูว่าธีม zsh คืออะไร
เปิดหน้าต่างเทอร์มินัลใหม่ และข้อความแจ้งของคุณควรมีลักษณะดังนี้:
ในกรณีที่คุณไม่พบธีมที่เหมาะสมกับความต้องการของคุณ โปรดดูข้อมูลเพิ่มเติมในวิกิ
หากคุณรู้สึกซ่า คุณสามารถปล่อยให้คอมพิวเตอร์เลือกแบบสุ่มให้คุณทุกครั้งที่คุณเปิดหน้าต่างเทอร์มินัลใหม่
ZSH_THEME= " random " # (...please let it be pie... please be some pie..)
และหากคุณต้องการเลือกธีมแบบสุ่มจากรายการธีมที่คุณชื่นชอบ:
ZSH_THEME_RANDOM_CANDIDATES=(
" robbyrussell "
" agnoster "
)
หากคุณรู้แค่ว่าไม่ชอบธีมไหน คุณสามารถเพิ่มธีมเหล่านั้นลงในรายการที่ละเว้นได้:
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
หากคุณมีคำถามหรือปัญหาเพิ่มเติม คุณอาจพบวิธีแก้ไขในคำถามที่พบบ่อยของเรา
หากคุณเป็นคนประเภทที่ชอบทำให้มือสกปรก ส่วนเหล่านี้อาจจะโดนใจ
ผู้ใช้บางรายอาจต้องการติดตั้ง Oh My Zsh ด้วยตนเอง หรือเปลี่ยนเส้นทางเริ่มต้นหรือการตั้งค่าอื่นๆ ที่โปรแกรมติดตั้งยอมรับ (การตั้งค่าเหล่านี้มีบันทึกไว้ที่ด้านบนของสคริปต์การติดตั้งด้วย)
ตำแหน่งเริ่มต้นคือ ~/.oh-my-zsh
(ซ่อนอยู่ในโฮมไดเร็กตอรี่ของคุณ คุณสามารถเข้าถึงได้ด้วย cd ~/.oh-my-zsh
)
หากคุณต้องการเปลี่ยนไดเร็กทอรีการติดตั้งด้วยตัวแปรสภาพแวดล้อม ZSH
โดยรัน export ZSH=/your/path
ก่อนการติดตั้ง หรือโดยการตั้งค่าก่อนสิ้นสุดไปป์ไลน์การติดตั้งดังนี้:
ZSH= " $HOME /.dotfiles/oh-my-zsh " sh install.sh
หากคุณกำลังเรียกใช้สคริปต์การติดตั้ง Oh My Zsh โดยเป็นส่วนหนึ่งของการติดตั้งอัตโนมัติ คุณสามารถส่งแฟล็ก --unattended
ไปยังสคริปต์ install.sh
ได้ ซึ่งจะมีผลกับการไม่พยายามเปลี่ยนเชลล์เริ่มต้น และจะไม่รัน zsh
เมื่อการติดตั้งเสร็จสิ้น
sh -c " $( curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh ) " " " --unattended
หากคุณอยู่ในประเทศจีน อินเดีย หรือประเทศอื่นที่บล็อก raw.githubusercontent.com
คุณอาจต้องแทนที่ URL เป็น https://install.ohmyz.sh
จึงจะติดตั้งได้
สคริปต์การติดตั้งยังยอมรับตัวแปรเหล่านี้เพื่ออนุญาตให้ติดตั้งที่เก็บอื่น:
REPO
(ค่าเริ่มต้น: ohmyzsh/ohmyzsh
): สิ่งนี้ใช้รูปแบบของ owner/repository
หากคุณตั้งค่าตัวแปรนี้ โปรแกรมติดตั้งจะค้นหาพื้นที่เก็บข้อมูลที่ https://github.com/{owner}/{repository}
REMOTE
(ค่าเริ่มต้น: https://github.com/${REPO}.git
): นี่คือ URL แบบเต็มของโคลนพื้นที่เก็บข้อมูล git คุณสามารถใช้การตั้งค่านี้หากคุณต้องการติดตั้งจากทางแยกที่ไม่ได้อยู่บน GitHub (GitLab, Bitbucket...) หรือหากคุณต้องการโคลนด้วย SSH แทน HTTPS ( [email protected]:user/project.git
) .
หมายเหตุ: เข้ากันไม่ได้กับการตั้งค่าตัวแปร REPO
การตั้งค่านี้จะมีความสำคัญเหนือกว่า
BRANCH
(ค่าเริ่มต้น: master
): คุณสามารถใช้การตั้งค่านี้หากคุณต้องการเปลี่ยนสาขาเริ่มต้นที่จะเช็คเอาท์เมื่อทำการโคลนพื้นที่เก็บข้อมูล สิ่งนี้อาจมีประโยชน์สำหรับการทดสอบ Pull Request หรือหากคุณต้องการใช้สาขาอื่นที่ไม่ใช่ master
ตัวอย่างเช่น:
REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh
git clone https://github.com/ohmyzsh/ohmyzsh.git ~ /.oh-my-zsh
~/.zshrc
ที่มีอยู่ของคุณ cp ~ /.zshrc ~ /.zshrc.orig
คุณสามารถสร้างไฟล์กำหนดค่า zsh ใหม่ได้โดยการคัดลอกเทมเพลตที่เรารวมไว้ให้คุณ
cp ~ /.oh-my-zsh/templates/zshrc.zsh-template ~ /.zshrc
chsh -s $( which zsh )
คุณต้องออกจากระบบเซสชันผู้ใช้ของคุณและกลับเข้าสู่ระบบใหม่เพื่อดูการเปลี่ยนแปลงนี้
เมื่อคุณเปิดหน้าต่างเทอร์มินัลใหม่ หน้าต่างควรโหลด zsh ด้วยการกำหนดค่าของ Oh My Zsh
หากคุณพบปัญหาในการติดตั้ง ต่อไปนี้เป็นวิธีแก้ไขทั่วไปบางประการ
PATH
ใน ~/.zshrc
หากคุณไม่สามารถค้นหาคำสั่งบางคำสั่งได้หลังจากเปลี่ยนมาใช้ oh-my-zsh
ZSH
ใน ~/.zshrc
หากคุณต้องการแทนที่พฤติกรรมเริ่มต้นใดๆ เพียงเพิ่มไฟล์ใหม่ (ลงท้ายด้วย .zsh
) ในไดเร็กทอรี custom/
หากคุณมีฟังก์ชั่นหลายอย่างที่เข้ากันได้ดี คุณสามารถใส่ฟังก์ชั่นเหล่านั้นเป็นไฟล์ XYZ.plugin.zsh
ในไดเร็กทอรี custom/plugins/
จากนั้นเปิดใช้งานปลั๊กอินนี้
หากคุณต้องการแทนที่ฟังก์ชันการทำงานของปลั๊กอินที่เผยแพร่กับ Oh My Zsh ให้สร้างปลั๊กอินที่มีชื่อเดียวกันในไดเร็กทอรี custom/plugins/
และปลั๊กอินนั้นจะถูกโหลดแทนปลั๊กอินใน plugins/
พฤติกรรมเริ่มต้นใน Oh My Zsh คือการใช้ BSD ls
ในระบบ macOS และ FreeBSD หากมีการติดตั้ง GNU ls
(ตามคำสั่ง gls
) คุณสามารถเลือกใช้แทนได้ ในการทำเช่นนั้น คุณสามารถใช้การกำหนดค่าตาม zstyle ก่อนที่จะจัดหา oh-my-zsh.sh
:
zstyle ' :omz:lib:theme-and-appearance ' gnu-ls yes
หมายเหตุ: สิ่งนี้เข้ากันไม่ได้กับ DISABLE_LS_COLORS=true
หากคุณต้องการข้ามนามแฝง Oh My Zsh เริ่มต้น (ที่กำหนดไว้ในไฟล์ lib/*
) หรือนามแฝงปลั๊กอิน คุณสามารถใช้การตั้งค่าด้านล่างในไฟล์ ~/.zshrc
ของคุณ ก่อนที่ Oh My Zsh จะถูกโหลด โปรดทราบว่ามีหลายวิธีในการข้ามนามแฝง ขึ้นอยู่กับความต้องการของคุณ
# 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
คุณสามารถรวมสิ่งเหล่านี้เข้าด้วยกันโดยคำนึงถึงขอบเขตที่เฉพาะเจาะจงมากกว่า:
# Skip all plugin aliases, except for the git plugin
zstyle ' :omz:plugins:* ' aliases no
zstyle ' :omz:plugins:git ' aliases yes
ฟีเจอร์เวอร์ชันก่อนหน้านี้ใช้การตั้งค่าด้านล่าง ซึ่งถูกลบออกแล้ว:
zstyle ' :omz:directories ' aliases no
ตอนนี้คุณสามารถใช้สิ่งต่อไปนี้แทน:
zstyle ' :omz:lib:directories ' aliases no
ขณะนี้ฟีเจอร์นี้อยู่ในขั้นตอนการทดสอบและอาจมีการเปลี่ยนแปลงได้ในอนาคต ขณะนี้ยังไม่สามารถใช้งานร่วมกับตัวจัดการปลั๊กอิน เช่น zpm หรือ zinit ซึ่งไม่ได้มาจากสคริปต์เริ่มต้น (
oh-my-zsh.sh
) ที่มีการปรับใช้คุณลักษณะนี้
ขณะนี้ยังไม่ทราบถึง "นามแฝง" ที่กำหนดให้เป็นฟังก์ชัน ตัวอย่างดังกล่าวคือฟังก์ชัน
gccd
,ggf
หรือggl
จากปลั๊กอิน git
ฟังก์ชันพรอมต์ Async เป็นฟีเจอร์ทดลอง (รวมในวันที่ 3 เมษายน 2024) ที่ช่วยให้ Oh My Zsh แสดงผลข้อมูลพร้อมท์แบบอะซิงโครนัสได้ วิธีนี้สามารถปรับปรุงประสิทธิภาพการเรนเดอร์พรอมต์ได้ แต่อาจไม่ทำงานได้ดีกับการตั้งค่าบางอย่าง เราหวังว่านั่นจะไม่ใช่ปัญหา แต่หากคุณพบปัญหาเกี่ยวกับฟีเจอร์ใหม่นี้ คุณสามารถปิดได้โดยตั้งค่าสิ่งต่อไปนี้ในไฟล์ .zshrc ของคุณ ก่อนที่ Oh My Zsh จะได้รับแหล่งที่มา:
zstyle ' :omz:alpha:lib:git ' async-prompt no
หากปัญหาของคุณคือพรอมต์ git หยุดแสดง คุณสามารถลองบังคับให้มันตั้งค่าการกำหนดค่าต่อไปนี้ก่อนที่ oh-my-zsh.sh
จะเกิดขึ้น หากยังคงใช้งานไม่ได้ โปรดเปิดปัญหากับกรณีของคุณ
zstyle ' :omz:alpha:lib:git ' async-prompt force
ตามค่าเริ่มต้น คุณจะได้รับแจ้งให้ตรวจสอบการอัปเดตทุกๆ 2 สัปดาห์ คุณสามารถเลือกโหมดการอัพเดตอื่นๆ ได้โดยเพิ่มบรรทัดลงในไฟล์ ~/.zshrc
ของคุณ ก่อนที่ Oh My Zsh จะถูกโหลด :
อัปเดตอัตโนมัติโดยไม่ต้องแจ้งการยืนยัน:
zstyle ' :omz:update ' mode auto
เพียงแจ้งเตือนทุกๆ สองสามวัน หากมีการอัปเดต:
zstyle ' :omz:update ' mode reminder
หากต้องการปิดใช้งานการอัปเดตอัตโนมัติทั้งหมด:
zstyle ' :omz:update ' mode disabled
หมายเหตุ: คุณสามารถควบคุมความถี่ที่ Oh My Zsh ตรวจสอบการอัปเดตด้วยการตั้งค่าต่อไปนี้:
# 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
คุณยังสามารถจำกัดรายละเอียดการอัปเดตด้วยการตั้งค่าต่อไปนี้:
zstyle ' :omz:update ' verbose default # default update prompt
zstyle ' :omz:update ' verbose minimal # only few lines
zstyle ' :omz:update ' verbose silent # only errors
หากคุณต้องการอัปเดต ณ เวลาใดเวลาหนึ่ง (อาจมีบางคนเพิ่งเปิดตัวปลั๊กอินใหม่และคุณไม่ต้องการรอถึงหนึ่งสัปดาห์) คุณเพียงแค่ต้องเรียกใช้:
omz update
มายากล! -
Oh My Zsh ไม่ใช่สำหรับทุกคน เราจะคิดถึงคุณแต่เราต้องการทำให้การเลิกราเป็นเรื่องง่าย
หากคุณต้องการถอนการติดตั้ง oh-my-zsh
เพียงเรียกใช้ uninstall_oh_my_zsh
จากบรรทัดคำสั่ง มันจะลบตัวเองและคืนค่าการกำหนดค่า bash
หรือ zsh
ก่อนหน้าของคุณ
ก่อนที่คุณจะเข้าร่วมในชุมชนที่น่ารื่นรมย์ของเรา โปรดอ่านหลักจรรยาบรรณ
ฉันยังห่างไกลจากการเป็นผู้เชี่ยวชาญ Zsh และสงสัยว่ามีวิธีปรับปรุงหลายวิธี หากคุณมีแนวคิดเกี่ยวกับวิธีทำให้การกำหนดค่าง่ายขึ้น (และเร็วขึ้น) อย่าลังเลที่จะแยกและส่งคำขอดึง!
เรายังต้องการคนเพื่อทดสอบคำขอดึงข้อมูลด้วย ดังนั้นลองดูปัญหาที่เปิดอยู่และช่วยเหลือในส่วนที่คุณสามารถทำได้
ดูการมีส่วนร่วมสำหรับรายละเอียดเพิ่มเติม
เรามีธีม (มากกว่า) เพียงพอสำหรับตอนนี้ โปรดเพิ่มธีมของคุณไปที่หน้าวิกิธีมภายนอก
Oh My Zsh มีชุมชนที่มีชีวิตชีวาของผู้ใช้ที่มีความสุขและผู้มีส่วนร่วมที่น่ายินดี หากไม่มีเวลาและความช่วยเหลือจากผู้ร่วมให้ข้อมูลของเรา มันคงไม่ยอดเยี่ยมขนาดนี้
ขอบคุณมาก!
เราอยู่บนโซเชียลมีเดีย:
เรามีสติกเกอร์ เสื้อเชิ้ต และแก้วกาแฟให้คุณแสดงความรักต่อ Oh My Zsh คุณจะกลายเป็น Talk of the Town อีกครั้ง!
Oh My Zsh เปิดตัวภายใต้ใบอนุญาต MIT
Oh My Zsh เริ่มต้นโดยทีมงานที่ Planet Argon ซึ่งเป็นหน่วยงานพัฒนา Ruby on Rails ตรวจสอบโครงการโอเพ่นซอร์สอื่น ๆ ของเรา