前段时间看到个比较有意思的回答,感兴趣的读者可以在底部找到链接,以下是原文翻译。
因为它确实难用。
vim用户(我不是)会跟你说一些诸如“刚开始很难用,但当你深入学习后,你就会变得很高效”的话。
然而,第二句话几乎适用于所有优秀的编辑器。如果你深入学习Sublime Text,你就会变得很高效.
如果你深入学习Emacs,你就会变得很高效. 如果你深入学习Visual Studio…你明白我的意思。
真实的情况是,你并不需要深入学习你的编辑器…除非你使用vim。
我们大多希望我们使用的软件或任何其他工具"省心"。我们新买了个微波炉,不看说明书,然后在之后的生活中只使用”+30s"的功能。
我们买了个Mac,并不需要知道到它支持(Emacs)编辑文本的快捷方式。我们下载了一个新的文本编辑器,只需要在巨大的文本框內输入,然后等着它自动提示有用的功能等。
毕竟,学习你正在使用的工具的已有功能特性不是你完成当前任务的最有效的方式。
如果你在vim中这么做,你就会看到:
这是很可能出现的,在vim中,在没有RTFM(注:read the fucking manual)的情况下,
像退出程序,或者实际输入一些文本这样一些简单的操作你也无法做到。换句话说,你需要成为一个高级用户(power user)才能完成最基本的操作。
对于许多初学编程的人来说,这是他们第一次成为某样东西的高级用户。刚开始他们被告知vim有多好,其中许多人坚持了下来,并且确实变得高效了,
这不是因为vim比任何其他编辑器更高效,而是因为vim没有提供除了变高效以外的其他使用方式。
之后这部分用户又告诉他们的朋友vim有多么好,他们的朋友继续成为高级用户然后又告诉他们的朋友,以此类推。
这些人相信他们是因为改变了他们的编辑器而变得高效,很少有人意识到是他们的编辑器改变了他们。
这不是在贬低vim。我曾经学习Dvorak键盘布局的时候,我也是这个现象的受益者。当时我相信Dvorak布局能让我更快的输入。
现在我意识到结果好坏参半,Dvorak布局可能并不比Qwerty布局更快。然而,学习Dvorak迫使我形成好的输入习惯,因为我没办法再看键盘了(因为那时我还在使用Qwerty实体键盘),
这使我能更高快地输入。
我认为上述内容解释了为什么vim如此受欢迎,尽管确实是因为它难以使用,以及为什么一些vim用户对它如此推崇,而对于我们这些采取更平滑的方式来完成编辑任务的人来说,这种方式往往看起来很愚蠢。
因此,如果你是一个编程初学者,不要认为你必须使用vim,除非你有强烈的动机想成为高级用户。所以,只需选择你认为合适的任何编辑器, 然后学习它!