你用哪款编辑器? Which Editor Are You Using?

程序员们都是使用工具的高手,每个人都会有一段时间沉迷于编辑器的选择和配置,就象武者精心挑选自己趁手的兵器一样,你如果是一个程序员,你喜欢哪款编辑器呢?

江湖上流传着十八般兵器和七种武器的传说,编程界也一样有类似的故事,最有名的莫过于“编辑器之神”和“神的编辑器”了,如果你还没听说过,不妨去网上搜索找一找相关的故事,很有意思。

话说这世界上只有三种编辑器: Vim , Emacs 和 其他编辑器, Vim 就是编辑器之神,而 Emacs 便是神的编辑器了,最简单的概括便是 Vim 是如神般好用的编辑器,而 Emacs 则是伪装成编辑器的操作系统,通常只有大神才能驾驭。

后来,听说这世界上有好事者欲将倚天和屠龙合二为一,所谓小孩子才做选择,我们必须全都要! 于是有了 Spacemacs, 本人断断续续尝试这个双剑合壁的神器好多次了,也没有真正用起来,还是功力不足啊……

现今的时代,微软的 VSCode 又异军突起,做 js/ts 开发人员都很喜欢,开箱即用,丰富的插件,几乎能做任何事,包括模拟 vim 的快捷操作,所以目前我主要的工作时间都在使用 VSCode 加上 Vim 插件后的组合。

说起来, Vim 不愧为编辑器之神,这套 Vim 的快捷操作模式,已经极简了常用的光标移动和操作方式,一旦熟练掌握,就回不去了,巴不得任何地方都可以使用 vi 的快捷操作,目前在 macOS 系统上,还真的是完全可以做到,整个系统 UI 界面,可以通过 Vimac 这个 App 实现界面上的 vi 操作,在 Termial 控制台中,可以用 zsh 结合 vi-mode,实现命令行的快捷输入,同时当然可以随时启动 vim 命令,临时编辑一些文件,在写文档或代码时,在 VSCode 中结合 vim 插件也可以方便地使用 vi 快捷键,在浏览器中,当然也可以加上 vimium 插件,非常方便浏览各个网页,比如按 tg 和 tG 切换标签页,按 x 关闭标签页,按 j k d u 上下滚动页面,按 yy 复制网址等,真的是太方便快捷了。

应该说两大神器,我算是初入 Vim 的世界了,后面想通过 Spacemacs 结合 Org-mode 尝试适应一下 Emacs,主要还有一个 Lisp 语言的情节在那儿, 再加上听闻 Org-mode 的强大,所以还是很有兴趣继续探索和实践的。

有些通用的技能,什么时候开始学都不算晚,一旦掌握就会终身受益,我相信 vi 快捷输入就是这样一种技能,程序员的世界还有很多其他类似的技能,后面有机会慢慢跟大家聊聊……