Bootstrap

Vim - 可能是投资回报率最高的 Editor

看过无数推荐 Vim 的文章,我也来写一篇,希望能提供一个新的思考角度。

所谓“工欲善其事,必先利其器”。趁手的 Editor / IDE 对程序员有天然的吸引力。从接触编程到现在,用过的此类软件有很多,但独爱 Vim,原因可以用一个经济学的概念来解释:投资回报率。

这里的“投资”指的是时间和精力,“回报”指的是在编程效率上的提升。

相信大家都有过这样的经历:

上边的过程经历多了,一个念头在心头浮现:要是所有的编辑器都使用一套相同的快捷键那该多好啊。

有这样的好事吗?还真有。

个人认为在这个世界上存在过的,经受住时间考验没有消失的,现在仍然被极度广泛使用的,在未来很长一段时间里大概率上还会继续发光发热的键绑定类型只有两种:Vim 系 和 Emacs 系。

Emacs 系是另一片天地,先不展开,以后单独写一篇来介绍。这里只简单提一下,登录 Linux 后进入的 Bash 用的就是这类键绑定,Vim在特定的模式下也引入了一些 Emacs 系的键绑定,macOS 直接在系统的所有输入框内建了对 Emacs 系键绑定的支持。还有很多很多,留给以后的文章来介绍。

回到正题,Vim 系的键绑定几乎无处不在。

首当其冲的是在各 Linux 发行版中。vim本身(及各类 Vim-like 软件)、man、more、less等等很多 Linux 下的软件中都或多或少的引入了 Vim 系的键绑定,这就意味着学会了 Vim 系的键绑定也就同时学会了操作这些软件的快捷键。

其次是各类 Editor / IDE 的插件系统里。不管你在使用什么此类软件:Visual Studio Code、Notepad++、 Sublime Text、Visual Studio、Eclipse 系、Jetbrains 系的各个IDE等等,你都只需要安装一个 Vim 的插件,就可以把 Vim 系的键绑定带到这个软件里面来,这样所有你花时间积累的东西都会立刻回到你身边。

还有就是各种类型其他软件和网站中,有时也能看到一点 Vim 系键绑定的影子,比如新浪微博和 Twitter 里都支持 j/k 键作为下/上翻操作,Chrome / Firefox / Safari 等主流浏览器都可以通过安装插件支持部分的 Vim 系键绑定等。

总而言之,Vim 系键绑定的使用范围远远超出你我的想象,一次投入,终身时时处处回报,如果不违反广告法,我想说它真的是我心中投资回报率最高的 Editor。

最后,讲一个关于 Vim 的笑话:

问:如何产生一段真正随机的数据?

答:找一台电脑,启动 Vim,把电脑交给一个不会使用 Vim 的人。

你笑了吗?赶快学起来吧,避免成为“随机数据生成器”。:q!