前段时间,在《易进难出,“Vim退出”难住百万程序员》一文中,我们提到了在Stack Overflow中有百万程序员在求助如何退出Vim,评论中我们看到很多中国程序员都给出了退出的办法。但是,平心而论,如果你对Vim不熟悉,那么退出确实会成为一个很困扰的难题。

点击Escape,按住Ctrl C,单击“quit"和”exit“是不会得到任何结果的。其实Vim一直在尝试给程序员提供有用的信息,甚至在第一次加载的时候就向程序员展示了如何解决问题。

vim退出编辑模式(被Vim退出困住的百万程序员)(1)

不幸的是,当你被退出困住时,千辛万苦在搜索引擎上找到解决方法时,也许你早已经误操作进入了插入模式,甚至你都不清楚这时你需要点击Escape才能换到退出命令的界面。更为糟糕的是,如果你已经对缓存区进行了修改,那么就意味着你不仅要退出而且还要不保存更改,需要进入另外的模式。

很多程序员首次接触Vim是 通过Git command-line client,当它们提交时不指定提交消息及Git命令,用户就无从得知他们是在何处登录,做了什么,如何退出。本文针对Vim的退出问题,为大家盘点五种不建议使用的方法。

点击X

毫无疑问,点击GUI的关闭按钮X确实能够退出Vim,但是它把所有的窗口都关闭了。

自动杀死

为什么要担心启动Vim之后忘记关闭呢?你只需设置一个超时关闭就可以解决这个麻烦。

$timeout 60s Vim

上例中,Vim实例在60s之后就会消失,但是不好的一点是你一定要记得保存。

杀死所有的Vim

所有的应用程序在运行时,都可以通过另一个终端来杀死它,你可以使用ps kill的方法来终止进程。

$killall -9 Vim

远程关闭

这个功能虽然我还没有尝试,但是Vim的 client-server功能意味着你可以通过ssh访问远程运行的Vim实例,并要求Vim在退出之前保存文件。

砸电脑

其实在上一篇文章的评论中,我们就看到很多极端的评论,例如拔电源、砸电脑......但是这些方法,相信在每个有理智的人看来都是错误的方法吧!

,