บ่อยครั้งเมื่อแก้ไขรหัสฉันจะเลือกบล็อกในโหมดภาพและทำการค้นหาและแทนที่บล็อก อย่างไรก็ตามหลังจากที่ฉันทำการเปลี่ยนแปลงมันจะออกจากโหมดภาพ คุณจะค้นหาและแทนที่สิ่งที่เลือกใหม่ได้อย่างไร
บ่อยครั้งเมื่อแก้ไขรหัสฉันจะเลือกบล็อกในโหมดภาพและทำการค้นหาและแทนที่บล็อก อย่างไรก็ตามหลังจากที่ฉันทำการเปลี่ยนแปลงมันจะออกจากโหมดภาพ คุณจะค้นหาและแทนที่สิ่งที่เลือกใหม่ได้อย่างไร
คำตอบ:
คุณอาจจะ gvre-เลือกพื้นที่ภาพสุดท้ายเลือกด้วย
:help"
gv เป็นวิธีที่เร็วที่สุด (ใช้การเลือกล่าสุด) แต่หากคุณต้องการพื้นที่การเลือกที่บันทึกไว้อย่างมั่นคง (หรือหลายรายการ) คุณสามารถสร้างมาโครได้ตลอดเวลา
ให้บอกว่าฉันต้องการเก็บวิธีการเลือกปัจจุบันของฉันซึ่งไปจากบรรทัด 25-35 ฉันสามารถสร้างมาโครที่เลือกวิธีการทั้งหมดโดยการพิมพ์
q //start recording
a //use register a
25G //Go to line 25
V //visual-line mode
35G //Go to line 35
q // stop recording
จากนั้นฉันจะได้การเลือกนั้นกลับมาโดยพิมพ์@a(เรียกใช้แมโครในการลงทะเบียนก) ทำซ้ำกับการลงทะเบียนบรรทัดหรือส่วนใด ๆ ของบรรทัดที่คุณต้องการ เห็นได้ชัดว่าหากคุณทำการเปลี่ยนแปลงไฟล์การเลือกอาจเปลี่ยนแปลงเช่นกันดังนั้นคุณอาจต้องการพิจารณาใช้เครื่องหมายแทนหมายเลขบรรทัด "hardcoding"
gvใช้งานได้ดีสำหรับการกู้คืนตัวเลือกสุดท้าย แต่บางครั้งก็ต้องการอีกเล็กน้อย
หากคุณต้องการบันทึกแบบถาวรมากขึ้นลองดูปลั๊กอินนี้ที่เรากำลังทำงานบน GitHub
VisualMarksmช่วยให้คุณสามารถบันทึกและเรียกคืนพื้นที่ที่เลือกทางสายตาเช่นเดียวกับคุณบันทึกและทำเครื่องหมายสถานที่เฉพาะในไฟล์ของคุณด้วย หลังจากติดตั้งและด้วยตัวเลือกเริ่มต้นให้ใช้:
ma
ในโหมดภาพเพื่อบันทึกการเลือกปัจจุบันของคุณเพื่อทำเครื่องหมายaแล้ว
<a
ในโหมดปกติเพื่อกลับสู่การเลือกนี้
สมมติว่าฉันต้องการแทนที่ Goodbye ด้วย Hello และเลือกรหัสด้านล่าง:
public static void main(String[] args){
System.out.println("Goodbye World");
}
ฉันจะพิมพ์:s/Goodbye/Hello/และเป็นกลุ่มจะแทนที่ทุกกรณีGoodbyeด้วยHello
มันเป็นเพียงการรวมกันของการแสดงออกปกติของกลุ่มและการเลือกโหมดภาพ เมื่อคุณเลือกมันควรป้อนอัตโนมัติ'<,'>
gvและโหมดภาพของคุณจะเปลี่ยนกลับไปเป็นสถานะการเลือกก่อนหน้า