ฉันมักจะต้องย้าย / คัดลอกโค้ดระหว่างไฟล์ต้นฉบับของฉัน หลังจากที่ฉันวางบล็อกข้อความฉันมักจะต้องใช้การดำเนินการบางอย่างกับบล็อกนั้นเช่นการใส่=กลับเข้าไปใหม่
มีวิธีในการเลือกบล็อกข้อความที่ฉันเพิ่งวางโดยไม่ต้องทำเองหรือไม่
ฉันมักจะต้องย้าย / คัดลอกโค้ดระหว่างไฟล์ต้นฉบับของฉัน หลังจากที่ฉันวางบล็อกข้อความฉันมักจะต้องใช้การดำเนินการบางอย่างกับบล็อกนั้นเช่นการใส่=กลับเข้าไปใหม่
มีวิธีในการเลือกบล็อกข้อความที่ฉันเพิ่งวางโดยไม่ต้องทำเองหรือไม่
คำตอบ:
'[และ']เครื่องหมายคั่นบรรทัดแรกและสุดท้ายของการเปลี่ยนแปลงข้อความในก่อนหน้านี้หรือกระชาก `[และ`]ลูกน้องคั่นเส้นนั้นและคอลัมน์
เมื่อใช้สิ่งนี้คุณสามารถเลือกบล็อกของบรรทัดที่มีการเปลี่ยนแปลงล่าสุดด้วยสายตา'[V']จากนั้นใช้=คำสั่ง
อย่างไรก็ตามเนื่องจากวางทิ้งเคอร์เซอร์ของคุณที่บรรทัดแรกของเนื้อหาที่วางคุณยังสามารถระบุการเคลื่อนไหวที่=ควรใช้คำสั่งในกรณีนี้เพื่อ']ทำเครื่องหมาย =']นี้จะเป็น
การจับคู่นี้ช่วยให้คุณสามารถเลือกข้อความที่คุณเพิ่งวางใหม่:
nnoremap gV `[v`]
แต่คุณควรจะใช้[pและ]pแทน
:help [pดู
[pและ]p
Vim รวมการแมปที่เป็นประโยชน์ต่อไปนี้:
`[
และ
`]
ซึ่งเลือกอักขระตัวแรกและตัวสุดท้ายของข้อความที่เปลี่ยนแปลงก่อนหน้าตามลำดับ
ชุดของคีย์ต่อไปนี้ (ในโหมดปกติ) จะเลือกข้อความที่วางล่าสุด:
`[v`]
สำหรับการเข้าถึงได้เร็วขึ้นคุณสามารถตั้งค่าแผนที่, ตัวอย่างเช่น :
nnoremap gp `[v`]