วิธีสลับโหมดคำสั่ง vi ในบรรทัดคำสั่ง zsh อย่างสะดวกสบาย


22

ใน vi ฉันได้แมป 'jj' เพื่อหลบหนีเพื่อให้สามารถสลับไปยังโหมดคำสั่งได้โดยไม่ต้องใช้คีย์ Escape ที่น่ารำคาญ ตอนนี้ฉันต้องการให้เหมือนกันสำหรับการแก้ไขบรรทัดคำสั่งที่ฉันใช้โหมด vi ฉันพบวิธีแก้ไขปัญหาต่อไปนี้แล้ว:

bindkey '^j' vi-cmd-mode

ให้คุณเปลี่ยนได้ด้วย control-j เข้าสู่โหมดคำสั่ง ยังคงค้นหาวิธีแก้ปัญหาโดยไม่มีตัวแก้ไขคีย์เป็น 'jj' หรือสิ่งที่คล้ายกัน


4
ทำไมไม่เพียงทำการแมป Caps Lock to Escape ใหม่
kyrias

คำตอบ:


30

หมายเหตุ: คุณควรมองman zshzleสำหรับสินค้าจำนวนมากเกี่ยวกับการปรับแต่งและการลอกเลียนแบบbindkeyGNU readline

นี่คือวิธีที่ฉันทำjjกับEsc:

bindkey -M viins 'jj' vi-cmd-mode

หากคุณสนใจที่จะแยกแยะความแตกต่างระหว่างโหมดแทรกและโหมดปกติคุณสามารถลองใช้คำแนะนำของอากิระที่นี่


ใช่! ทำงานได้อย่างสมบูรณ์แบบ ขอบคุณมาก!
Eman Resu

มีข้อกำหนดเบื้องต้นใดบ้างที่จำเป็นต้องทำให้สำเร็จก่อนที่งานนี้จะเป็น zsh หรือไม่? หรือวิธีการดีบั๊กการโยงคีย์? หลังจากแทรกคำสั่งนี้จะไม่มีอะไรเกิดขึ้น jj ยังไม่ทำงาน
UltraMaster

5
ฉันตั้ง KEYTIMEOUT ต่ำเกินไปนั่นเป็นเหตุผล
UltraMaster

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