พลังของโลกจะทำงานที่นี่:
:g/^/exe "normal ddggP"
หรือมากกว่านั้นง่ายๆ (ขอบคุณ @tommcdo)
:g/^/move 0
ก่อนจะจับคู่ทุกบรรทัดและสำหรับแต่ละบรรทัดลบออกและวางไว้ที่ด้านบนของไฟล์ ในขณะที่มันเคลื่อนผ่านไฟล์มันจะกลับข้อความ
วินาทีที่คล้ายกันตรงกับทุกบรรทัดและย้ายไปที่ด้านบนของไฟล์
หมายเหตุ:ทั้งสองอย่างนี้ทำงานกับไฟล์ทั้งหมดและจะไม่สามารถใช้งานได้อย่างถูกต้องเพื่อย้อนกลับเซตย่อยของบรรทัด ดูคำตอบของ Ingo Karkatสำหรับวิธีการแก้ปัญหาที่ใช้งานได้ในช่วง
รายละเอียด:
g
คำสั่งโกลบอล
/^/
ตรงกับบรรทัดใด ๆ ที่มีจุดเริ่มต้น (เช่นทุกบรรทัด)
exe
ดำเนินการกับสตริงต่อไปนี้
"normal
ดำเนินการคำสั่งโหมดปกติ
dd
ลบบรรทัด
gg
ย้ายไปด้านบนของไฟล์
P
วางเหนือตำแหน่งปัจจุบัน
move 0
ย้ายบรรทัดปัจจุบันไปที่ด้านล่างบรรทัด 0 (ซึ่งวางไว้ที่ตำแหน่ง 1 หรือบรรทัดแรกของไฟล์)