บ่อยครั้งเมื่อแก้ไขรหัสฉันจะเลือกบล็อกในโหมดภาพและทำการค้นหาและแทนที่บล็อก อย่างไรก็ตามหลังจากที่ฉันทำการเปลี่ยนแปลงมันจะออกจากโหมดภาพ คุณจะค้นหาและแทนที่สิ่งที่เลือกใหม่ได้อย่างไร
บ่อยครั้งเมื่อแก้ไขรหัสฉันจะเลือกบล็อกในโหมดภาพและทำการค้นหาและแทนที่บล็อก อย่างไรก็ตามหลังจากที่ฉันทำการเปลี่ยนแปลงมันจะออกจากโหมดภาพ คุณจะค้นหาและแทนที่สิ่งที่เลือกใหม่ได้อย่างไร
คำตอบ:
คุณอาจจะ gv
re-เลือกพื้นที่ภาพสุดท้ายเลือกด้วย
: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
และโหมดภาพของคุณจะเปลี่ยนกลับไปเป็นสถานะการเลือกก่อนหน้า