จะเรียกคืน ^ S เป็น zsh ได้อย่างไร


9

ฉันพบ ^ S ที่แมปเป็นคีย์ fwd-search สำหรับ zsh (ohmyzsh) แต่ฉันต้องการใช้ใน vim สำหรับการแมปต่าง ๆ เช่นกัน - ดูเหมือนว่าการแม็พ zsh ทำให้ฉันไม่สามารถใช้งานได้ตอนนี้

มีวิธีใดที่จะทำการแมป bindkey หรือใช้ทั้งสองวิธี?


คุณแน่ใจหรือว่ามันเป็น oh-my-zsh? ฉันไม่สามารถหาอะไรในแหล่งที่มาที่แผนที่bindkey Ctrl-S
Daniel Beck

ใช่ฉันคิดว่ามันเป็นค่าเริ่มต้น zsh - ฉันพูดถึง ohmyzsh ในกรณีที่มีบางอย่างที่อาจมีความสำคัญเช่นกัน - ฉันยังใหม่ zsh ใหม่
liamgriffiths

ในระบบของฉัน (ไม่เคยใช้ zsh มาก่อน) Ctrl-Sหยุดทำงานอย่างที่ควรจะเป็น คุณตรวจสอบไฟล์โปรไฟล์ zsh แล้วหรือยัง
Daniel Beck

ฉันยังขุดอยู่ - หวังว่าฉันจะเข้าใจได้เร็วกว่านี้ :-) ... ก่อนหน้านี้ทุบตีให้ฉันทำงานได้ดีกับ Cs
liamgriffiths

เพื่อตรวจสอบการแมป zsh / bindkeyผูกใช้ ใช้bindkey "^S"เพื่อดูว่าอะไรCtrl-Sถูกผูกไว้กับอะไรเป็นพิเศษ เงยหน้าขึ้นมองรายละเอียดเกี่ยวกับผูกพัน "เครื่องมือ" man zshzleกับ
ต่อท้ายเฉือน

คำตอบ:


10

นี่อาจเป็นระบบควบคุมการไหลซึ่งจัดการโดยเทอร์มินัลไม่ใช่เชลล์ของคุณ โดยทั่วไปแล้ว control-s จะหยุดเอาต์พุตเทอร์มินัลและ control-q จะกลับมาทำงานต่อ ดูบันทึกย่อใน " :help ctrl-s"

ในการลบพฤติกรรมนี้คุณสามารถลองใช้คำสั่งเชลล์เหล่านี้:

stty stop undef
stty start undef

สิ่งนี้อาจใช้งานไม่ได้ หากคุณใช้ตัวจำลองเทอร์มินัล GUI ลองค้นหาการตั้งค่าการควบคุมการไหลภายในตัวเลือก


5

ฉันยิงมันลงในสองขั้นตอน:

  1. ปิดการใช้งานการควบคุมการไหลใน Konsole:

    • การตั้งค่า> จัดการโปรไฟล์ ... > แก้ไขโปรไฟล์> ขั้นสูง (แท็บ)> ยกเลิกการเลือก 'เปิดใช้งานการควบคุมการไหล [... ]')

  2. บอก Zsh เกี่ยวกับมันด้วย:

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