Vi dan Vim, seperti yang Anda semua tahu, memiliki banyak sinonim. Ada tiga cara yang saya tahu untuk menyimpan file dan keluar dari Vim dan Vi. Ini adalah : wq <cr> , : x <cr> dan ZZ . Saya pernah mendengar bahwa ini berbeda dalam beberapa hal.
Apakah ada perbedaan praktis antara menggunakan:
:x<cr>
:wq<cr>
atau
ZZ
untuk menyimpan file dan keluar dari Vim dan Vi?
save
filesystem
quit
original-vi
wefwefa3
sumber
sumber
ZZ
(atauZQ
) lebih pendek dan lebih mudah untuk mengetik ...:help :wq
,:help ZZ
,:help :x
. Itu ada di sana di dokumen.Jawaban:
Dari dokumentasi Vim,
:x
danZZ
setara; mereka hanya menyimpan file jika telah dimodifikasi, lalu keluar dari Vim::wq
di sisi lain menulis file dan berhenti Vim (dengan asumsi izin yang sesuai).sumber
Seperti yang ditunjukkan akshay, dokumentasi Vim menjelaskan, itu
:x
danZZ
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
(tanpaw
) akan bekerja juga.sumber