ฉันต้องการแทรกคำในหลายบรรทัดมีคำสั่งใด ๆ ไหม
:[2,3,5,7,11]s/^/word\ /g
ซึ่งจะแทรกword
ที่จุดเริ่มต้นของบรรทัด 2, 3 บรรทัด, 5 บรรทัด, 7 และ 11
ที่นี่มีหลายบรรทัดไม่ต่อเนื่องกัน
ฉันต้องการแทรกคำในหลายบรรทัดมีคำสั่งใด ๆ ไหม
:[2,3,5,7,11]s/^/word\ /g
ซึ่งจะแทรกword
ที่จุดเริ่มต้นของบรรทัด 2, 3 บรรทัด, 5 บรรทัด, 7 และ 11
ที่นี่มีหลายบรรทัดไม่ต่อเนื่องกัน
คำตอบ:
การทำการทดแทนหลายบรรทัดติดต่อกันนั้นค่อนข้างง่าย:
:2,11s/^/word /
แต่ช่วงไม่สามารถครอบคลุมบรรทัดที่ไม่ต่อเนื่องกันได้
ด้วยความคิดสร้างสรรค์เล็กน้อยมันเป็นไปได้ที่จะหลีกเลี่ยง "ข้อ จำกัด " นั้น
อันที่จริงคุณสามารถทำซ้ำการเปลี่ยนตัวครั้งล่าสุดด้วย:&
หรือ:&&
(อดีตจะไม่เก็บธงเดิมไว้ตามหลัง) เพื่อให้คุณสามารถแทนที่การโยงได้ง่าย ๆ :
2s/^/word /|3&|5&|7&|11&
ดูและเลื่อนรอบ:help :&
:&&