ฉันจะเลือกบล็อกของข้อความที่ฉันเพิ่งวางใน Vim ได้อย่างไร


13

ฉันมักจะต้องย้าย / คัดลอกโค้ดระหว่างไฟล์ต้นฉบับของฉัน หลังจากที่ฉันวางบล็อกข้อความฉันมักจะต้องใช้การดำเนินการบางอย่างกับบล็อกนั้นเช่นการใส่=กลับเข้าไปใหม่

มีวิธีในการเลือกบล็อกข้อความที่ฉันเพิ่งวางโดยไม่ต้องทำเองหรือไม่

คำตอบ:


21

'[และ']เครื่องหมายคั่นบรรทัดแรกและสุดท้ายของการเปลี่ยนแปลงข้อความในก่อนหน้านี้หรือกระชาก `[และ`]ลูกน้องคั่นเส้นนั้นและคอลัมน์

เมื่อใช้สิ่งนี้คุณสามารถเลือกบล็อกของบรรทัดที่มีการเปลี่ยนแปลงล่าสุดด้วยสายตา'[V']จากนั้นใช้=คำสั่ง

อย่างไรก็ตามเนื่องจากวางทิ้งเคอร์เซอร์ของคุณที่บรรทัดแรกของเนื้อหาที่วางคุณยังสามารถระบุการเคลื่อนไหวที่=ควรใช้คำสั่งในกรณีนี้เพื่อ']ทำเครื่องหมาย =']นี้จะเป็น


คำตอบนี้อธิบายวิธีการที่ใช้ได้กับการเลือกภาพทุกประเภท (รวมถึงภาพบล็อก): stackoverflow.com/questions/4312664/…
Adam Byrtek

14

การจับคู่นี้ช่วยให้คุณสามารถเลือกข้อความที่คุณเพิ่งวางใหม่:

nnoremap gV `[v`]

แต่คุณควรจะใช้[pและ]pแทน

:help [pดู


2
+1 สำหรับ[pและ]p
lisowski.r

3

Vim รวมการแมปที่เป็นประโยชน์ต่อไปนี้:

`[

และ

`]

ซึ่งเลือกอักขระตัวแรกและตัวสุดท้ายของข้อความที่เปลี่ยนแปลงก่อนหน้าตามลำดับ

ชุดของคีย์ต่อไปนี้ (ในโหมดปกติ) จะเลือกข้อความที่วางล่าสุด:

`[v`]

สำหรับการเข้าถึงได้เร็วขึ้นคุณสามารถตั้งค่าแผนที่, ตัวอย่างเช่น :

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