论退出VIM的正确姿势

来自:网络
时间:2019-01-12
阅读:

我现在用的键盘支持硬件编程,比方说我要退出vim,得依次按下Esc➤:➤w➤q➤回车,总共五个键,编程后,我只要按下Fn+q,键盘就会自动为我输入刚才的五个键,而且此设定是保持在键盘上的,更换电脑也有效,不用重新设定。为此小聪明,一直沾沾自喜。直到今天发现了":wq"和":x"的区别。

我们来做个实验:

先touch两个文件,分别为文件1和文件2

[root@VM_114_111_centos di]# touch 1 2[root@VM_114_111_centos di]# stat 1 2
  File: `1'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d	Inode: 598029      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-03 12:08:28.000000000 +0800
Modify: 2018-01-03 12:08:28.000000000 +0800
Change: 2018-01-03 12:08:28.000000000 +0800
  File: `2'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d	Inode: 598030      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-03 12:08:28.000000000 +0800
Modify: 2018-01-03 12:08:28.000000000 +0800
Change: 2018-01-03 12:08:28.000000000 +0800

用vim打开文件1,打开后直接:wq退出。

用vim打开文件2,打开后直接:x退出。

[root@VM_114_111_centos di]# stat 1 2
  File: `1'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d	Inode: 598029      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-03 12:08:28.000000000 +0800
Modify: 2018-01-03 12:10:38.000000000 +0800
Change: 2018-01-03 12:10:38.000000000 +0800
  File: `2'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: fc01h/64513d	Inode: 598030      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-03 12:08:28.000000000 +0800
Modify: 2018-01-03 12:08:28.000000000 +0800
Change: 2018-01-03 12:08:28.000000000 +0800

此时发现文件1的mtime和ctime发生了变化。

得出结论:

尽量别用:wq来退出,因为你用:wq退出vim的话,哪怕你只是用vim看了一眼文件,没做任何改动,:wq都会帮你更新文件的Modify和Change时间,有人会说,就算更新这两个时间也无伤大雅,若是开发喜欢用:wq的话,他:wq看一眼,这样会让make编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。浪费时间浪费电。用:x的话,若你对文件没做任何改动,Modify和Change是不会变动的,只有当你确实改动了文件,Modify和Change才会改变。

另外:x有个快捷键ZZ,在命令模式直接按两个大写的z就等于:x退出。

返回顶部
顶部