易进难出,“Vim 退出” 难住百万程序员

王练
 王练
发布于 2017年06月03日
收藏 12

“程序员一旦进入 Vim ,就再难以脱身。”这听起来像是一个恐怖故事,但是却真实的发生在程序员的身上, Stack Overflow 上关于如何退出 Vim 的问题,其点击量已有上百万次了。

问题原文为:

  I'm stuck and cannot escape. It says:

  "type :quit<Enter> to quit VIM"

  But when I type that it simply appears in the object body.

你可能认为“我使用 Vim 很久了,我认为 Vim 很好用,没必要退出啊!”但是用户觉得没必要退出和 Vim 不能退出其实是两个概念,对于 Vim 退出问题的讨论可以追溯到2014年。

2014年 国外著名 Reddit 网站就有关于此的问答:

Q: How do you generate a random string?

A: Put a Windows user in front of vi, and tell them to exit

2015年,关于 Vim 的退出问题就像滚雪球一样,程序员的反馈越来越多,甚至有程序员表示:“我使用Vim已有两年时间,主要原因不是它的强大,而是因为我不知道如何退出。”

过去的一年中,如何退出 Vim 编辑器这一问题占据了 Stack Overflow 问题流量的0.005%,这就意味着 Stack Overflow 每有两万个问题的访问,其中就有一个是访问如何退出 Vim 编辑器,如果按 Stack Overflow 来计算的话,那么每一小时就有80个人在求助如何退出 Vim 。

更有趣的是,这个问题在 Stack Overflow 上出现之后就持续受到程序员的关注。而相比 Stack Overflow ,网络上“ Vim 如何退出”的热度似乎更甚,据 Google Trends 显示,自2004年开始 Vim 退出的热度就一直在增长,这发生在 Stack Overflow 关于 Vim 退出问题的提出之前,2010年该问题的热度就激增,呈现出了线性增长的趋势。


Stack Overflow 数据也揭示了一些很有趣的事情,如程序员常用的标签其实可以更倾向于对他们所用技术进行分类,例如 JavaScript 工程师和 Web 工程师通常会在 C#,Android,ios,PHP,Java 等等的标签停留,而在 Vim 中停留的程序员往往更关注 IDE,如 Visual Studio,Eclipse,Xcode 等等。

如果毫不客气的说,Vim 不仅是一座监狱(让程序员易进难出),还是一个陷阱,它会让程序员通过链接或者其它方式落入陷阱,一旦进来就很难出去。

现在如果你去谷歌搜索“如何退出 Vim ”,一般都会得到以下的回复,如果当前是处于 Insert 和 Append 模式下,那么可以按 Esc 退出。或者是输入“:q!"退出,但它仅仅是退出了编辑器,并不能保存修改内容。

稿源:it168网站 / 作者: 田晓旭

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:易进难出,“Vim 退出” 难住百万程序员
加载中

精彩评论

k
kchr
有些人,忘了自己不懂怎么关 Windows 的时候了。
Adpex
Adpex
这文章看得我头晕目眩的。。。vim退出不是按下Esc后输入:q!或者:wq吗...?难道我用的不是vim?
mark35
mark35
shift+zz 快速保存退出
eechen
eechen

引用来自“双城记”的评论

vim做服务器远程连接时编辑、写脚本代码是神器。。

但是强行把vim搞一堆插件弄成ide强迫自己用vim的是zz。
远程编辑可以用"SFTP连接+本地编辑器"嘛,不一定要用vim,nano也行.

还有个方法,SSHFS也不错,把远程服务器目录映射到本地,操作远程文件就像操作本地一样,大杀器.
sudo apt-get install sshfs
把远程根目录挂载到~/apps/sshfs下,挂载后在文件管理器里即可看到服务器目录:
mkdir -p ~/apps/sshfs
sshfs -o transform_symlinks -o follow_symlinks user@ip:/ ~/apps/sshfs

sshfs是基于SSH文件传输协议的客户端FUSE(用户空间文件系统).
因为多数SSH服务器已经支持了此协议,所以非常容易设置.
在服务器端不需要做任何工作.
在客户端挂载sshfs文件系统和使用SSH登录服务器一样简单.

最新评论(35

d
dwangel

引用来自“灰灰”的评论

刚开始,不知道有:q!,然后卡在如何恢复的思维上,直接:q又不行,又不想保存。
:wq 保存退出
:q! 退出不保存
啦啦啦拉拉
啦啦啦拉拉

引用来自“kchr”的评论

有些人,忘了自己不懂怎么关 Windows 的时候了。
@kchr windows8更新的时候
为伊尘心
说的啥玩意
主席
主席

引用来自“任任任老师”的评论

不能退出?想表达什么意思?
vim 用习惯了,不想换其它工具了,感觉vim强大方便好用
我觉得应该是运维的人员用的多,程序员用的少
Andrew_Yang
Andrew_Yang
应该是找电源插座😳
灰灰
灰灰
刚开始,不知道有:q!,然后卡在如何恢复的思维上,直接:q又不行,又不想保存。
misterq
misterq
真笨,关机就可以了嘛
开源中国首席屌炸天
开源中国首席屌炸天

引用来自“双城记”的评论

vim做服务器远程连接时编辑、写脚本代码是神器。。

但是强行把vim搞一堆插件弄成ide强迫自己用vim的是zz。

引用来自“eechen”的评论

远程编辑可以用"SFTP连接+本地编辑器"嘛,不一定要用vim,nano也行.

还有个方法,SSHFS也不错,把远程服务器目录映射到本地,操作远程文件就像操作本地一样,大杀器.
sudo apt-get install sshfs
把远程根目录挂载到~/apps/sshfs下,挂载后在文件管理器里即可看到服务器目录:
mkdir -p ~/apps/sshfs
sshfs -o transform_symlinks -o follow_symlinks user@ip:/ ~/apps/sshfs

sshfs是基于SSH文件传输协议的客户端FUSE(用户空间文件系统).
因为多数SSH服务器已经支持了此协议,所以非常容易设置.
在服务器端不需要做任何工作.
在客户端挂载sshfs文件系统和使用SSH登录服务器一样简单.
这个 @eechen 就是个笑话,天天要喊着吊打,结果现在挂在树上惨遭吊打,屁都不敢放一个,又一个神棍被拉下神坛 --via FalconChen . 有链接有真相: https://www.oschina.net/question/253880_2236467
返回顶部
顶部