คุณเยื้องอย่างไร> <โดยไม่ออกจากโหมดภาพและสูญเสียการเลือกปัจจุบันของคุณ?


16

ฉันมักจะต้องเยื้องด้วยตนเอง แต่เมื่อฉันเข้าสู่โหมดภาพให้เลือกบรรทัดของฉันเพื่อเยื้องและกด<หรือ>ฉันออกจากโหมดภาพไม่ว่าฉันต้องการหรือไม่

ฉันอยากได้มันดังนั้นฉันจึงยังคงอยู่ในโหมดภาพและรักษาตัวเลือกและตำแหน่งเคอร์เซอร์ไว้เหมือนเดิม

ฉันจะบรรลุสิ่งนี้ได้อย่างไร


1
มีโอกาสที่การแมปใหม่จะทำเคล็ดลับหรือไม่ สิ่งที่ชอบ:vmap < <a?
Feffe

คำตอบ:


19

ฉันมีสิ่งนี้ใน vimrc ของฉัน:

"keep visual mode after indent
vnoremap > >gv
vnoremap < <gv

โปรดทราบว่าคุณสามารถใช้.(จุด) เพื่อทำซ้ำการเยื้องครั้งล่าสุด


เกือบสมบูรณ์แบบบันทึกว่าเคอร์เซอร์ของฉันไม่ได้เคลื่อนที่ไปตามแถว
Akiva

1
@Akiva บางทีคุณอาจต้องการที่จะเพิ่ม^ในตอนท้ายของการทำแผนที่ที่? คือ>gv^อะไร
Martin Tournoij

2
เคอร์เซอร์ดูเหมือนว่าจะย้าย (หรือไม่) ขึ้นอยู่กับตำแหน่งของมันโดยขึ้นกับข้อความที่เยื้อง ยังไม่ชัดเจนสำหรับฉันคุณต้องการให้เคอร์เซอร์อยู่ที่ใด: ที่หมายเลขคอลัมน์เดียวกันหรือตัวอักษรเดียวกัน นอกจากนี้คุณรู้ว่าคุณยังคงสามารถย้ายเคอร์เซอร์เช่นกับj, k, lฯลฯ ในขณะที่ในโหมดภาพ?
VanLaser

2
สุจริตฉันเพียงแค่ใส่<Right>และ<Left>ตามคำสั่งและทำงานได้ดี
Akiva

9

ฉันรู้ว่านี่ไม่ใช่วิธีแก้ปัญหาอัตโนมัติ แต่คุณสามารถทำได้โดยใช้gvหลังจากการเยื้องภาพ

สิ่งนี้จะเข้าสู่โหมดภาพด้วยการเลือกก่อนหน้านี้ที่เลือกไว้และเคอร์เซอร์ของคุณที่บรรทัดสุดท้าย ดู:h gvข้อมูลเพิ่มเติม


-2

ฉันพยายามเพิ่มการแม็พต่อไปนี้ใน vimrc ของฉัน:

vmap < <a
vmap > >a

ดูเหมือนว่าจะมีผลลัพธ์ที่น่าสนใจบางทีนั่นอาจเป็นสิ่งที่คุณกำลังมองหา?

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