:x
和:wq
的区别:
- (1)
:wq
强制性写入文件并退出(存盘并退出 write and quite)。即使文件没有被修改也强制写入,并更新文件的修改时间。- (2)
:x
写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间;否则不会更新文件修改时间。
- 这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,":wq" 强制更新文件的修改时间,这样会让 make 编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。不过像是版本控制的软件一般首选还是比较文件内容,修改时间一般不加以理会。