Answers:
正如akshay所指出的那样,Vim的文档对此进行了解释,它们:x
与ZZ
等同,并且仅在相关缓冲区已更改的情况下保存文件。而:wq
将缓冲区保存到相应的文件,即使缓冲区没有更改也是如此。
在这两种情况下,缓冲区的内容都将保存到磁盘。显然结果是一样的,那么为什么要麻烦,对吗?但是,请稍等...两者之间存在细微但不相关的差异。
如果您通过退出Vim :x
且缓冲区没有变化,则该文件的修改时间将不变。另一方面,如果您通过退出:wq
,则修改时间将改变,因为该文件在技术上已被重写(再次保存)。
在某些情况下这可能会产生一些影响。例如,依赖于修改时间的备份过程可以存储该文件(并可能通过网络发送该文件),即使未包含其他信息也是如此。否则,如果某些监视过程检测到文件已更改,则可能会发出警报...
编辑:我忘了提一下,为了保留修改后的缓冲区/文件而不更改修改时间,一个:q
(不带w
)也可以使用。