โดย "ย้ายชิ้นส่วนของข้อความไปยังไฟล์ใหม่" ฉันถือว่าคุณหมายถึงตัดส่วนของข้อความนั้นออกจากไฟล์ปัจจุบันและสร้างไฟล์ใหม่ที่มีเฉพาะข้อความนั้น
ตัวอย่างต่างๆ:
:1,1 w new_file
เพื่อสร้างไฟล์ใหม่ที่มีเฉพาะข้อความจากหมายเลขบรรทัด 1
:5,50 w newfile
เพื่อสร้างไฟล์ใหม่ที่มีข้อความตั้งแต่บรรทัดที่ 5 ถึงบรรทัดที่ 50
:'a,'b w newfile
เพื่อสร้างไฟล์ใหม่ที่มีข้อความจากเครื่องหมายa
เพื่อทำเครื่องหมายb
- กำหนดเครื่องหมายของคุณโดยใช้maและmbไม่ว่าคุณจะชอบที่ไหน
ด้านบนคัดลอกข้อความเท่านั้นและสร้างไฟล์ใหม่ที่มีข้อความนั้น จากนั้นคุณจะต้องลบภายหลัง
สิ่งนี้สามารถทำได้โดยใช้ช่วงเดียวกันและd
คำสั่ง:
:5,50 d
เพื่อลบข้อความจากบรรทัด 5 ถึงบรรทัด 50
:'a,'b d
เพื่อลบข้อความจากเครื่องหมายa
เพื่อทำเครื่องหมายb
หรือโดยใช้ddสำหรับตัวพิมพ์ใหญ่บรรทัดเดียว
หากคุณเลือกข้อความโดยใช้โหมดภาพแทนจากนั้นกดปุ่ม:
ในขณะที่เลือกข้อความคุณจะเห็นสิ่งต่อไปนี้บนบรรทัดคำสั่ง:
:'<,'>
ซึ่งบ่งบอกถึงข้อความที่เลือก จากนั้นคุณสามารถขยายคำสั่งเป็น:
:'<,'>w >> old_file
ซึ่งจะผนวกข้อความไปยังไฟล์ที่มีอยู่ จากนั้นลบตามข้างบน
หนึ่งในสายการบิน:
:2,3 d | new +put! "
รายละเอียด:
:2,3 d
- ลบบรรทัดที่ 2 ถึง 3
|
- ในทางเทคนิคแล้วการเปลี่ยนเส้นทางเอาต์พุตของคำสั่งแรกไปยังคำสั่งที่สอง แต่เนื่องจากคำสั่งแรกไม่ได้ส่งออกอะไรเราแค่ผูกมัดคำสั่งไว้ด้วยกัน
new
- เปิดบัฟเฟอร์ใหม่
+put! "
- ใส่เนื้อหาของ register ที่ไม่มีชื่อ ( "
) ลงในบัฟเฟอร์
- ปัง (
!
) อยู่ที่นั่นเพื่อให้เนื้อหาใส่ก่อนบรรทัดปัจจุบัน นี่เป็นสาเหตุและบรรทัดว่างที่ท้ายไฟล์ หากไม่มีก็จะมีบรรทัดว่างที่ด้านบนของไฟล์