มีบางครั้งที่ฉันต้องการทดสอบการเปลี่ยนแปลงไฟล์ก่อนที่ฉันจะเขียนทับต้นฉบับ มีวิธีใดบ้างที่ฉันสามารถบันทึกไฟล์ที่ถูกแก้ไขเป็นไฟล์ใหม่ได้?
มีบางครั้งที่ฉันต้องการทดสอบการเปลี่ยนแปลงไฟล์ก่อนที่ฉันจะเขียนทับต้นฉบับ มีวิธีใดบ้างที่ฉันสามารถบันทึกไฟล์ที่ถูกแก้ไขเป็นไฟล์ใหม่ได้?
คำตอบ:
คุณสามารถกำหนดพารามิเตอร์ให้กับคำสั่ง:w
หรือ:write
เพื่อบันทึกเป็นไฟล์อื่น ตัวอย่างเช่นการบันทึกบัฟเฟอร์ปัจจุบันไปที่/tmp/data.txt
:
:w /tmp/data.txt
อย่างไรก็ตามโปรดจำไว้ว่านี่จะไม่สลับบัฟเฟอร์ของคุณไปยังไฟล์อื่น ดังนั้นหากคุณทำการแก้ไขและทำต่อไปสิ่ง:w
นั้นจะบันทึกลงในไฟล์ปัจจุบันไม่ใช่ไฟล์อื่น หากต้องการเปลี่ยนเป็นไฟล์อื่นให้ใช้:edit
คำสั่ง:
:e /tmp/data.txt
ในการทำขั้นตอนนี้ให้บันทึกเป็นไฟล์อื่นแล้วเปลี่ยนไปใช้:saveas
คำสั่ง:
:sav /tmp/data.txt
Vim มี "โหมดสำรองข้อมูล" ที่สามารถเปิดใช้งานโดย:set backup
หรือ:set patchmode
หรือในโหมดนั้น Vim จะเก็บสำเนาสำรองของไฟล์ที่คุณเขียนโดยอัตโนมัติ
ตัวอย่างเช่นถ้าคุณออก:set patchmode=.orig
และคุณแก้ไขไฟล์ที่มีอยู่somefile.txt
แล้วเมื่อคุณออก:w
ได้ตามปกติเป็นกลุ่มจะเก็บสำเนาของแฟ้มเก่าเป็นและบันทึกเนื้อหาใหม่somefile.txt.orig
somefile.txt
ใช่มีวิธี
:w new_file_name
เพียงระบุ newfilepath ที่:w
คำสั่ง -:w newfile.foo