สมมติว่าฉันมีไฟล์ง่าย ๆ ดังต่อไปนี้
a
b
c
d
e
และฉันตัดสินใจว่าฉันต้องการเพิ่มบรรทัดว่างหลังจากแต่ละบรรทัด วิธีการที่แตกต่างกันหลายอย่างข้ามไปยังใจของฉันทันที เราอาจทำเช่นนั้น (และยอมรับความล้มเหลว) เราอาจบันทึกมาโครที่ชอบqqo<ESC>jq
แล้วทำซ้ำหลาย ๆ ครั้ง
ในขณะนั้นมีวิธีการสองวิธีที่ชัดเจนกว่าสำหรับฉัน
ประการแรกฉันคิดว่าฉันจะออก:norm
คำสั่งo
ในแต่ละบรรทัด :%norm o
ดังนั้นผมจึงวิ่ง แต่สิ่งที่เกิดขึ้นจริงคือเราได้ 5 บรรทัดว่างตามด้วยบรรทัดที่ไม่ได้แยกดังที่กล่าวมา ฉันตีความสิ่งนี้เพื่อหมายความว่าโดย%norm
vim หยิบข้อความออกมาคำสั่งปกติต่อไปนี้ในห้าบรรทัดแรกของไฟล์ห้าบรรทัดนี้ o
คำสั่งสร้างบรรทัดใหม่และเป็นกลุ่มคือ "โง่" ในแง่ที่ว่ามันอ้างอิงจากจำนวน line และไม่จริงโดยระบุอื่น ๆ
ฉันเขิน แน่ใจ ฉันลองอีกสองสามอย่างเพื่อดูว่าฉันสามารถใช้วิธีการด้านบนได้หรือไม่ แต่ฉันไม่สามารถทำได้ ด้วยความอยากรู้ฉันได้ลองวิธีการนวดแบบที่ฉันโปรดปราน :g/^/norm o
นี้ทำให้ฉันจะลอง ฉันประหลาดใจนี่ใช้งานได้ดี! ดังนั้นสำหรับดวงตาของฉันดูเหมือนว่าเสียงเรียกเข้าไม่ได้ "โง่" ที่นี่ในลักษณะเดียวกับข้างบนและอ้างอิงบรรทัดมากกว่าหมายเลขบรรทัด
เกิดอะไรขึ้นกันแน่?
:%s/$/\r/
:%s/\n/\r\r/
สิ่งที่ควรหลีกเลี่ยงคือการขึ้นบรรทัดใหม่สามารถจับคู่\n
ได้ แต่ต้องเขียน\r
แทนค่า