vim 中的":wq"和":x"的区别

摘要:
Http:x“和”:wq强制写入文件并退出(保存并退出writeandquit)。即使文件未修改,也强制写入。X写入文件并退出。仅在修改文件时写入,并更新文件修改时间;否则,不会更新文件修改时间。这可能会对编辑源文件产生重大影响。因为即使文件未被修改,wq“也会强制更新文件的修改时间,这使得make在编译整个项目时认为文件已被修改,然后重新编译链接以生成可执行文件。

摘自:http://www.apelearn.com/bbs/thread-7146-1-1.html


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

免责声明:文章转载自《vim 中的":wq"和":x"的区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CSS动画:animation、transition、transform、translateC#实现短链接生成服务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux下svn命令的使用

1、将文件checkout到本地目录   svn checkout path(path是服务器上的目录)    例如:svn checkout svn://192.168.1.1/pro/domain     简写:svn co 2、往版本库中添加新的文件     svn addfile    例如:svn add test.php(添加test.php)...

配置ssh免密码登录——集群学习日记

度过了难熬的考试月时期之后,最近和小伙伴一起参加的的比赛进入了紧张的准备时期。在进行工作的时候,发现有很多基础的知识点,自己不是很清楚以及了解,所以在想,要不就边学习的时候边写下学习日记,以供自己后来不懂的时候查看,同时以希望自己的一些所得能帮助到其他人。共勉之~ 前言 Secure Shell(缩写为SSH),是一项创建在应用层和传输层基础上的安全协议,...

Node.js入门:文件查找机制

文件查找流程图 从文件模块缓存中加载     尽管原生模块与文件模块的优先级不同,但是都不会优先于从文件模块的缓存中加载已经存在的模块。 从原生模块加载     原生模块的优先级仅次于文件模块缓存的优先级。require方法在解析文件名之后,优先检查模块是否在原生模块列表中。以http模块为例,尽管在目录下存在一个http/http.js/http....

C/C++内存问题检查利器—Purify (四)

七、             Purify的退出码 像UNIX下的软件,一般都会提供和别的应用程序的接口,像上面的生成文本文件,也是给别的应用程序提供接口的一种方式。这里,我们所要讲述的是Purify的退出码,我们知道程序都有退出码,以提供给别的程序或操作系统自己运行的信息。被Purify编译过的程序,你可以通过指定-exit-status参数来告诉P...

python网络编程——IO多路复用之select

1 IO多路复用的概念         原生socket客户端在与服务端建立连接时,即服务端调用accept方法时是阻塞的,同时服务端和客户端在收发数据(调用recv、send、sendall)时也是阻塞的。原生socket服务端在同一时刻只能处理一个客户端请求,即服务端不能同时与多个客户端进行通信,实现并发,导致服务端资源闲置(此时服务端只占据 I/O,...

Linux上MySql远程备份方案

思路:每天定时将Linux上的MySql备份在本地,然通过FTP上传到FTP服务器上。 1、 使用mysqldump工具将MySql数据库备份 mysqldump --default-character-set=utf8 --complete-insert -u root -pyourpassword -c jbpm > /u01/jbpm.sql ...