Seperti yang ditunjukkan akshay, dokumentasi Vim menjelaskan, itu :x
dan ZZ
setara dan hanya menyimpan file jika buffer terkait telah diubah. Sedangkan :wq
menyimpan buffer ke file yang sesuai, bahkan jika itu tidak berubah.
Dalam kedua kasus, isi buffer akan disimpan ke disk. Jelas hasilnya sama, jadi mengapa repot, kan? Tapi tunggu ... Ada perbedaan yang halus, tapi tidak relevan.
Jika Anda keluar dari Vim melalui :x
dan tidak ada perubahan pada buffer, tidak akan ada perubahan pada waktu modifikasi file itu. Di sisi lain, jika Anda keluar via :wq
, waktu modifikasi akan berubah, karena file secara teknis ditulis ulang (disimpan lagi).
Ini dapat berdampak pada situasi tertentu. Misalnya proses pencadangan yang bergantung pada waktu modifikasi, dapat menyimpan file ini (dan berpotensi mengirimkannya melalui jaringan) meskipun tidak ada informasi tambahan yang disertakan. Atau beberapa proses pemantauan dapat membunyikan alarm jika mendeteksi bahwa (untuk itu) file telah diubah ...
Sunting: Saya lupa menyebutkan, untuk meninggalkan buffer / file yang dimodifikasi tanpa mengubah waktu modifikasi, a :q
(tanpa w
) akan bekerja juga.