Vim 可能很难学习。但对于许多首次使用的用户来说,仅仅退出程序就可能是一个问题。
上个月,Stack Overflow 博客发表了一篇关于“帮助一百万开发者退出 Vim”的文章,证明了当时一个里程碑式的事件,即在开发者帮助网站上一个热门问题达到了一百万的浏览量:如何退出 Vim 编辑器?Stack Overflow 表示,根据流量,在工作日的高峰时段,每小时有 80 人在阅读关于如何退出的文章。
公平地说,如果你不熟悉 Vim,退出可能会有点违反直觉。猛按 Escape 键、敲击 Ctrl+C 键、单独输入“quit”或“exit”都不会有任何效果。Vim 确实会在此过程中给你一些有用的提示,甚至在你第一次加载程序时就告诉你如何退出。
不幸的是,当你使用搜索引擎寻找答案时,你可能已经按下了键盘上的一堆其他键,进入了插入模式,并且不知道你需要按 Escape 键才能输入退出命令。更糟糕的是,你可能已经对缓冲区做了一些更改,这意味着现在 Vim 希望你确认是否要在不保存更改的情况下退出,这需要与你刚刚弄清楚的按键模式完全不同的模式。
此外,许多人第一次接触 Vim 的方式是通过 Git 命令行客户端,当他们进行提交但没有在 Git 命令中指定提交消息时。他们不知道自己身处何处,在那里做什么,或者如何退出来。
如果你愿意投入一点时间,Vim 并不难学,而且它的普及性使其值得花费时间。如果你需要一些帮助,我们有5 个技巧来帮助你开始学习 Vim。
但是今天,为了庆祝 Vim 众所周知的让只想退出的临时用户感到困惑的倾向,这里有另外五种退出 Vim 的方法。我不推荐任何一种。
点击 x
没错,只需使用你的 GUI 杀死整个终端窗口并放弃。当然,你不需要那个窗口做任何其他事情,而且你也不想保存你可能或可能没有对你打开的文档所做的任何潜在更改。从技术上讲,对于像 GVim 这样的图形版本,这并不是世界末日,但如果 Vim 的重点是让你的手指放在键盘上,如果你使用 GUI 退出,你仍然没有抓住重点。
自动杀死它
为什么还要担心启动 Vim 后是否会记得如何退出?相反,只需使用内置的终止开关 timeout 启动它。
$ timeout 60s vim
你的 Vim 实例可以在 60 秒内消失。希望你记得保存!
杀死所有 Vim
当任何其他程序失控时,你会怎么做?你打开另一个终端并杀死它。使用你喜欢的方法:ps + kill,在 top 或 htop 中直观地找到它,或者我最喜欢的方法,因为它让我听起来像个叛徒,killall。
$ killall -9 vim
再见,Vim(s)。
远程关闭它
我个人没有尝试过这种方法,但显然,Vim 的客户端-服务器功能意味着你可以通过 ssh 进入远程运行的 Vim 实例,并礼貌地要求 Vim 在退出前保存你的文件。Vim Wikia 有完整说明。你的结果可能会有所不同,如果你是那种离开机器后会在 Vim 中留下未保存更改的人,这实际上可能不是一个坏主意——但这本身可能不是最好的主意。
砸烂你的电脑
不,真的,请不要这样做。有更好的方法。但如果你的挫败感接近那个程度,只需前往你最喜欢的视频或 gif 网站,观看其他人用他们的机器玩真人版超级粉碎兄弟来释放压力。
迫不及待想退出 Vim?请在评论中告诉我们。当然,Emacs 用户没有这个问题。我假设那里的退出解决方案涉及切换到退出模式并编写一点 Lisp 来启动退出。
14 条评论