Vim: s แทนที่ N <g แรกที่เกิดขึ้นในบรรทัด
ในกลุ่มบางครั้งผมมีโอกาสที่จะเปลี่ยนที่เกิดขึ้นไม่กี่แรกของการแข่งขันบนเส้น แต่ไม่เหมือนทุกgหากว่า เช่น: a a a a a ถึง b b b a a ฉันรู้ว่าฉันสามารถใช้งาน:s/a/b/[enter]:[up][enter]:[up][enter]ได้ แต่มันน่าเบื่อพอสำหรับการทำซ้ำสามครั้งฉันมีบรรทัดที่มีการแทนที่มากกว่า 10 รายการ ฉันพยายามแล้ว: :s/a/b/3g: เป็นกลุ่มบ่นของตัวอักษรต่อท้าย :s/a/b/3: เปลี่ยนการเกิดขึ้นครั้งแรกในสิ่งนี้และสองบรรทัดต่อไปนี้ 3:s/a/b: เหมือนก่อนหน้านี้ :s/a/b/g3: เปลี่ยนสิ่งที่เกิดขึ้นทั้งหมดนี้และสองบรรทัดถัดไป :3s/a/b: เปลี่ยนการเกิดขึ้นครั้งแรกในบรรทัดที่ 3 :/a/,3/a/s/a/b: การเปลี่ยนแปลงที่เกิดขึ้นครั้งแรกในแต่ละบรรทัดระหว่างบรรทัดถัดไปaและบรรทัดที่สามที่มีaอยู่ในไฟล์ (พร้อมท์ให้ย้อนกลับหากจำเป็น) :/a/,/\([^a]*a\)\{3\}/s/a/b/: เปลี่ยนเหตุการณ์ที่เกิดขึ้นครั้งแรกในแต่ละบรรทัดระหว่างสิ่งนี้และสิ่งต่อไปด้วย 3 aวินาทีบนสิ่งนั้น และรูปแบบการกำหนดแอดเดรสอื่น ๆ ที่หลากหลายซึ่งไม่ได้ผล ฉันต้องบอกว่าฉันได้เรียนรู้จำนวนพอสมควรเกี่ยวกับ:sคำสั่งที่พยายามค้นหาคำตอบสำหรับปัญหานี้ แต่ฉันยังไม่ได้แก้ไข ใครรู้วิธีการทำเช่นนี้? (คะแนนโบนัสสำหรับช่วงที่เฉพาะเจาะจงเช่นที่สองถึงเหตุการณ์ที่สี่)