ดังที่ akshay ชี้ให้เห็นเอกสารของ Vim อธิบายว่า:x
และZZ
เทียบเท่าและบันทึกเฉพาะไฟล์หากบัฟเฟอร์ที่เกี่ยวข้องมีการเปลี่ยนแปลง ในขณะที่:wq
บันทึกบัฟเฟอร์ไปยังไฟล์ที่เกี่ยวข้องแม้ว่าจะไม่เปลี่ยนแปลง
ในทั้งสองกรณีเนื้อหาของบัฟเฟอร์จะถูกบันทึกลงดิสก์ เห็นได้ชัดว่าผลลัพธ์เหมือนกันดังนั้นทำไมต้องกังวลใช่มั้ย แต่เดี๋ยวก่อน ... มีความแตกต่างเล็กน้อย แต่ไม่แตกต่างกันที่ไม่เกี่ยวข้อง
หากคุณออกจากกลุ่มผ่านทาง:x
และไม่มีการเปลี่ยนแปลงกับบัฟเฟอร์จะไม่มีการเปลี่ยนแปลงเวลาแก้ไขของไฟล์นั้น ในทางกลับกันถ้าคุณออกจากผ่าน:wq
เวลาแก้ไขจะเปลี่ยนแปลงตามที่ไฟล์ถูกเขียนใหม่ทางเทคนิค (บันทึกอีกครั้ง)
สิ่งนี้อาจมีผลกระทบในบางสถานการณ์ ตัวอย่างเช่นกระบวนการสำรองข้อมูลที่ขึ้นอยู่กับเวลาการแก้ไขสามารถจัดเก็บไฟล์นี้ (และอาจส่งผ่านเครือข่าย) แม้ว่าจะไม่มีข้อมูลเพิ่มเติมรวมอยู่ด้วย หรือกระบวนการตรวจสอบบางอย่างอาจส่งเสียงสัญญาณเตือนหากตรวจพบว่า (สำหรับมัน) ไฟล์ถูกเปลี่ยนแปลง ...
แก้ไข: ฉันลืมพูดถึงเพื่อที่จะออกจากบัฟเฟอร์ / ไฟล์ที่แก้ไขโดยไม่เปลี่ยนเวลาแก้ไข a :q
(โดยไม่มีw
) จะทำงานเช่นกัน