ฉันใช้ zsh และ oh-my-zsh สำหรับสภาพแวดล้อมเชลล์ใน OS X และฉันมีเวลาที่ยากลำบากในการติดตามหรือไม่ว่าสิ่งที่เกิดขึ้นเป็นผลมาจากฟังก์ชั่น oh-my-zsh หรือพฤติกรรมเริ่มต้น ของ zsh; มันเป็นเรื่องของเครื่องสำอางทั้งหมด แต่มันทำให้ฉันเป็นบ้า
รุ่นสั้น ๆ ว่าถ้าผมcd
ในไดเรกทอรีสิ่งที่ถูกพิมพ์ในพรอมต์ของฉันจากการ%c
เป็นว่าอาร์กิวเมนต์ที่ถูกส่งผ่านไปยังcd
; ดังนั้นถ้าฉันเปลี่ยนเป็น "test" ในไดเรกทอรี แต่ฉันสะกดว่า "tEst" โดยไม่ได้ตั้งใจ "tEst" คือสิ่งที่จะปรากฏในพรอมต์ของฉัน มันน่ารำคาญมาก
อีกตัวอย่างของที่มันโผล่ขึ้นมาคือเมื่อฉันใช้ฟังก์ชั่นเปลือกนี้ (ลดความซับซ้อนจากBrett Terpstra )
cdf()
{
target=`osascript -e 'tell application "Finder" to get POSIX path of (target of front Finder window as text)'`
cd ${target}
}
เมื่อฉันใช้ฟังก์ชั่นนี้ไม่ว่าฉันจะอยู่ในไดเรกทอรีใดไดเรกทอรีการทำงานของฉันก็จะปรากฏขึ้น~target
ในทันที
อย่างที่ฉันบอกว่านี่เป็นปัญหาด้านเครื่องสำอางอย่างสมบูรณ์ แต่มันทำให้ฉันบ้า นี่คือสิ่ง zsh สิ่งที่ oh-my-zsh หรือมีการขยายตัวอื่นที่ฉันสามารถใช้ในการตั้งค่าพรอมต์ของฉันที่จะแก้ไขปัญหานี้หรือไม่ ฉันใช้ iTerm 2 แต่ฉันได้ลองใช้งานใน Terminal.app และมีสิ่งเดียวกันเกิดขึ้น
$PWD
ดูเหมือนว่าเมื่อคุณcd
เข้าไปในไดเรกทอรีเหล่านี้? คุณอาจสามารถใช้สิ่งนั้นแทนที่จะแสดง%c
ในพรอมต์ของคุณบางทีหลังจากการประมวลผลการทดแทนเชลล์
echo $PWD
คายเหมือนกัน: - /