เปลี่ยนเป็นโหมดปกติเมื่อ MacVim เข้าสู่พื้นหลัง


3

มีวิธีใดที่จะออกจากโหมดแทรกโดยอัตโนมัติเมื่อมีการใส่ MacVim ไว้ในพื้นหลังดังนั้นเมื่อฉันกลับมามันอยู่ในโหมดปกติหรือไม่?

บ่อยครั้งที่ฉันเปลี่ยนแอปพลิเคชั่นที่สำคัญที่สุดเมื่อฉันกลับมาที่ MacVim ฉันเห็นตัวเองแทรก 'j's และ' k's จำนวนมาก มันจะเป็นการปฏิบัติที่ดีที่สุดในการสร้างความเคยชินให้แก่สื่อมวลชนมากขึ้น แต่มันจะช่วยประหยัดบางครั้งโดยเฉพาะเมื่อทำงานบนเว็บไซต์ที่ต้องการแก้ไข / รีเฟรชมาก

คำตอบ:


2

เพื่ออ้างถึงhttps://stackoverflow.com/questions/2968548/vim-return-to-command-mode-when-focus-is-lost :

ข้อความอัตโนมัติต่อไปนี้จะเป็นตัวเลือก "ชัดเจน"

au FocusLost,TabLeave * stopinsert

ขออภัยดูเหมือนว่าจะทำงานได้อย่างถูกต้องสำหรับ TabLeave เท่านั้น เหตุการณ์ FocusLost กำลังทริกเกอร์ แต่ด้วยเหตุผลบางอย่างคำสั่ง stopinsert จะไม่มีผลจนกว่าจะได้รับเหตุการณ์สำคัญหลังจาก Vim ได้รับการโฟกัสกลับคืน

คุณสามารถใช้ประโยชน์จากฟีดคีย์และ "พาฉันไปที่โหมดปกติไม่ว่าจะเกิดอะไรขึ้น!" คำสั่งผสมที่สำคัญ:

au FocusLost,TabLeave * call feedkeys("\<C-\>\<C-n>")

ข้อเสียเพียงอย่างเดียวคือ feedkeys () ต้องมี Vim อย่างน้อย 7 ซึ่งไม่ควรเป็นเรื่องใหญ่ แต่เนื่องจาก Vim7 เปิดตัวในปี 2549


ขอบคุณอากิระ นี่เป็นคำถาม StackOverflow หรือไม่
sidyll

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