akshayが指摘したように、Vimのドキュメントは、それが同等であり、関連するバッファーが変更された場合にのみファイルを保存すること:x
を説明しZZ
ています。一方:wq
、バッファが変更されていない場合でも、対応するファイルにバッファを保存します。
どちらの場合も、バッファーの内容はディスクに保存されます。明らかに結果は同じですが、なぜ気にしますか?しかし、ちょっと待ってください...微妙ですが、無関係な違いはありません。
経由:x
でVimを終了し、バッファーが変更されていない場合、そのファイルの変更時間は変更されません。一方、を介して終了する:wq
と、ファイルが技術的に書き換えられる(再び保存される)ため、変更時間が変更されます。
これは、特定の状況で何らかの影響を与える可能性があります。たとえば、変更時間に依存するバックアッププロセスでは、追加情報が含まれていない場合でも、このファイルを保存(およびネットワーク経由で送信)することができます。または、ファイルが変更されたことを(何らかの理由で)検出した場合、監視プロセスがアラームを鳴らす可能性があります...
編集:言及するのを忘れましたが、修正時間を変更せずに修正されたバッファ/ファイルを残すために、:q
(なしでw
)も機能します。