จุดเปลี่ยนโหมด Virtual ใน Vim คืออะไร?


9

ความช่วยเหลือบอกว่าคำสั่งโหมดแทนที่เสมือนใน Vim gr& GRแทนที่ตัวอักษรในหน้าจอทรัพย์และไม่อยู่ในไฟล์

:help Virtual-Replace-mode

ฉันเข้าใจสิ่งนี้เหมือนกับการเปลี่ยนอักขระบนจอแสดงผล แต่ไม่ได้อยู่ในบัฟเฟอร์ นั่นถูกต้องใช่ไหม? ดูเหมือนว่าไม่ถูกต้อง

ฉันสามารถใช้คำอธิบายและอาจเป็นสถานการณ์จำลองหรือตัวอย่างที่เกี่ยวข้องกับคุณลักษณะนี้

คำตอบ:


9

ใน Virtual-Replace-Mode บัฟเฟอร์จะได้รับการแก้ไขที่ตำแหน่งเริ่มต้นยากขึ้น

1. Hello World
         ^ Cursor
2. I like cheese
3. And beer

เมื่อเข้าสู่โหมดแทนที่ปกติและกดปุ่มInternet<CR>And othersบัฟเฟอร์ใหม่จะเป็นดังนี้:

1. Hello Internet
2. And others
3. I like cheese
4. And beer

เมื่อทำเช่นเดียวกันใน Virtual-Replace ผลลัพธ์จะเป็น

1. Hello Internet
2. And othersese
3. And beer

ตัวอย่างอื่น (tabstop = 2; sts = 0):

1. 012345678901234567890
2. Hello beautiful World
         ^ Cursor

ปุ่มกด: <Tab><Tab>

ผลการแทนที่โหมด:

1. 012345678901234567890
2. Hello     autiful World

ผลลัพธ์ Virtual-Replace-Mode:

1. 012345678901234567890
2. Hello     tiful World

เนื่องจากในโหมดแทนที่การแทนที่จะถูกทำโดยถ่านโดยที่Tabหนึ่ง char ไม่ว่าจะแสดงกี่ตัวอักษร ใน Virtual-Replace-Mode ความยาวที่มองเห็นได้ของTab( :h 'ts', :h 'sts') ถูกใช้เพื่อแทนที่ chars


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