使用之间是否有任何实际区别:
:x
:wq
或
ZZ
保存文件并退出Vim和Vi?
#1 楼
根据Vim的文档,:x
和ZZ
是等效的。他们只保存修改后的文件,然后退出Vim:Write current file, if modified, and quit (same as ":x").
(Note: If there are several windows for the
current file, the file is written if it was modified and the window is closed).
:wq
另一方面写入文件并退出Vim(假定适当的权限)。 #2 楼
正如akshay所指出的那样,Vim的文档解释说,:x
和ZZ
是等效的,并且仅在更改了关联的缓冲区后才保存文件。 而
:wq
会将缓冲区保存到相应的文件中,即使它没有更改。显然结果是一样的,那为什么要麻烦,对吗?但是,请稍等...之间存在细微但不相关的差异。文件。另一方面,如果您通过:x
退出,则修改时间将改变,因为该文件在技术上已被重写(再次保存)。例如,依赖于修改时间的备份过程可以存储该文件(并可能通过网络发送该文件),即使未包括其他信息也是如此。否则某些监视过程可能会在检测到文件已更改的情况下发出警报。修改时间,一个:wq
(不带:q
)也将起作用。评论
另外,某些自动命令仅在写入文件时运行。如果文件没有更改并且Vim用ZZ或:x退出,它们将不会运行。
–蜘蛛
18年8月18日在20:46
要提及的另一件事是,如果您在vim中打开了未修改的缓冲区,并且已从系统中删除了该文件,则ZZ将不会创建该文件并将其写入。
– Dawit Abate
19/12/30在8:57
应该接受答案
–周江
20年6月18日在1:30
对于它的价值,ZZ会保存一些键入(vimgolf),因为您不必键入
– Sbu
20/09/10在20:46
评论
简单的答案:它们是相同的。它们不一样。我不确切知道两者之间的区别,但这是关于写与不写文件(如果未进行更改)(即更新时间戳)的比较。
另外,从实际的角度来看,ZZ(或ZQ)更短并且更容易输入...
:help:wq,:help ZZ,:help:x。就在文档中。