有关vi文件保存退出命令":wq"和":x"的区别

发布时间:2020-04-29编辑:脚本学堂
在使用vi编辑器时,我习惯使用":x"命令来保存文件并退出,不愿意使用":wq"命令是因为它得多敲一个字母。但是,今天我才知道":x"和":wq"的真正区别,如下:

在使用vi编辑器时,我习惯使用":x"命令来保存文件并退出,不愿意使用":wq"命令是因为它得多敲一个字母。
 
但是,今天我才知道":x"和":wq"的真正区别,如下:
 :wq   强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。
 :x    写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。

 
两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。
因为文件即使没有修改,":wq"强制更新文件的修改时间,这样会让make编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。
这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。