论退出VIM的正确姿势

我现在用的键盘支持硬件编程,比方说我要退出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退出。什么大写的z不知道怎么输?看这里

原创文章,转载请注明: 转载自笛声

本文链接地址: 论退出VIM的正确姿势

10 条评论

  • 姜辰 2018年1月4日 回复

    我退出,要么:q!,要么ZZ。

    • dige 2018年1月7日 回复 作者

      好习惯。

  • Mr.He 2018年1月6日 回复

    对于小白的我,用WinSCP连接,然后用EditPlus编辑,好像也很方便

    • dige 2018年1月7日 回复 作者

      装个可道云,直接在线编辑,更方便,不过要注意网站权限引起的安全问题。

  • thornbird 2018年1月14日 回复

    为啥这么麻烦,直接按esc就可以退出啊

    • dige 2018年1月15日 回复 作者

      VIM/VI不能直接按esc退出。

  • 迎風别葉index 2018年1月18日 回复

    :q :q!

  • 码农BTS 2018年1月22日 回复

    绑定了leader,q直接退出,w就是:wp

  • 西枫里博客 2018年1月24日 回复

    这速度越来越快了。又看不到进度条,瞬间就加载了。膜拜~

  • 王明军的博客 2018年4月27日 回复

    如何输入大写z,好奇的我点开了“看这里”Σ( ° △ °|||)︴

发表评论

电子邮件地址不会被公开。 必填项已用*标注