Emacs การโยงคีย์ใน zsh ไม่ทำงาน (Ctrl-A, Ctrl-E)


17

ปุ่มลัด Emacs ของฉันzshไม่ทำงาน ( CtrlA, CtrlE) ฉันใช้zshบน OS X

พวกเขาอาจจะผูกพันกับสิ่งอื่น ฉันใช้oh-my-zshอยู่

และฉัน.zshrcมีมากกว่าที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


@rene เสร็จแล้ว! ขอบคุณสำหรับคำแนะนำ! : D
Takehiro Adachi

จากภาพหน้าจอฉันรวบรวมคุณอยู่ใน Mac OS X? ฉันมีปัญหาเดียวกันใน terminal Ctrl + A / E / K ได้รับการดำเนินการในระบบปฏิบัติการนั้นแล้ว (สำหรับใช้ในฟิลด์ข้อความใน GUI) ซึ่งอาจอธิบายสิ่งนี้
Henno

@Henno จริงเหรอ? ฉันใช้ zsh atm และเมื่อฉันใช้ bash, ctrl + a (ไปที่อักขระตัวแรกของบรรทัด) และ ctrl + e (ไปที่ส่วนท้ายของบรรทัด) ทำงานได้ดี แต่เมื่อฉันใช้ zsh มันจะเหมือนกับภาพหน้าจอ ดังนั้นฉันคิดว่ามันเป็นปัญหาเกี่ยวกับ zsh ไม่ใช่ OS :(
Takehiro Adachi

@TakehiroAdachi คงที่ของคุณทำงานให้ฉันด้วย!
Henno

@Henno Great: D!
Takehiro Adachi

คำตอบ:


21

ฉันได้รับการแก้ไขปัญหา ดูเหมือนว่า oh-my-zsh กำลังแทนที่ปุ่มลัดเริ่มต้น

เมื่อฉันเพิ่มบรรทัดด้านล่างในตอนท้ายของฉัน.zshrc, CtrlEและCtrlAทำงาน:

bindkey -e

เยี่ยมมากก็ทำงานให้ฉันด้วย!
Henno

5

โดยทั่วไปคุณสามารถค้นหารหัสของคีย์ได้ด้วยการพิมพ์CtrlVและปุ่ม จากนั้นคุณสามารถใช้ปุ่มนี้bindkeyเพื่อจับคู่กับzshฟังก์ชั่นแป้นพิมพ์ (เช่นbeginning-of-line)

ในกรณีของคุณโดยเฉพาะที่จะเป็นและCtrlV CtrlACtrlV CtrlE

จากนั้นคุณสามารถใส่รหัสลงใน.inputrcระบบ/etc/inputrcหรือ.zshrcสิ่งนี้:

bindkey '^A' beginning-of-line
bindkey '^E' end-of-line

ใช้ได้กับแป้นอื่นด้วย ยกตัวอย่างเช่นฉันมีปัญหาบางอย่างกับและHomeEnd

คุณควรใช้เคล็ดลับนี้ในเทอร์มินัลเซสชันใด ๆ : tty,

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.