善意的闲人

以前每个苦口婆心说服我使用 vim 的人都错了

善意的闲人 · 2017-01-18翻译 · 1116阅读 原文链接

几个星期之前,我冒险尝试换用 vim 编辑器(准确的说是 MacVIM 编辑器)。这不是我第一次尝试,过去的“恩恩怨怨”我已经全部一笔勾销。

是什么情况呢?过去好几次我试着转用 vim,都听从了 vim 高手的建议,立马扎进学习新工具的泥沼中。那几次,我都折腾了好些天之后才放弃。每次从入门到放弃,我其实一点活都没干成,一天中九成时间都在和编辑器干架(美其名曰“学习我的编辑器”)。

不变的是,那些助我一臂之力的 vim 高手无不鼓励我坚持到底——“只要你用上 vim 几个星期,绝不会再想用回以前的编辑器。”

可问题是,俺有活要干啊!新的编辑器必须不会严重妨碍我日复一日的工作,我才会换用它。我仿佛已经听到有人反驳了:“那简直不可能。Vim 是为高级用户而生的新编辑器。你只能忍着,直到适应它。”

然而,我初次使用 Textmate 编辑器时并不用忍受很多的不适。实际上,我当时用得舒服极了。

上几次有人试图让我换到 vim 去时,我都给他们出一道难题——你能给我个方法,让我换到新编辑器的头几个星期不会严重降低生产力吗?这不是专为堵住各方意见而钻的牛角尖。当我沉下心来思考,发觉 Textmate 也没有一直帮我那么多。Textmate 就是个加强版的记事本,有语法高亮,可以识别我敲击回车时该把光标放哪(大多数情况下如此)。

我其实不怎么用“代码片段”(snippets),也没用到那么多“指令”(commands)。我不在意 Textmate 的可扩展性。我也不是 Textmate 铁杆粉丝,所以任何一款和 Textmate 可扩展程度大略相同的编辑器(即所有编辑器)都能跟我搭得来。

暂且不论这些我认为相对合理的要求有待解决,而在我和他人谈论这些合理要求时还会遭受鄙视、甚至愤怒。“如果你那样想的话,恐怕 Vim 不是你的菜。”“你是在学一款神之编辑器诶。当然会有比较大的入门难度啊。”

这些伤心事我早已既往不咎。

几星期前,Carl 跟我说他打算鼓捣一下 Vim。他说,看过许多人确实用它很有效率,心里很好奇。Carl 绝对比我愿意忍受更多学习新东西的痛苦,于是我向他提出之前的那道难题。

或许是因为在 vim 铁杆粉丝阵营浸淫未久,他并没有厌烦地全盘否定我的问题。我更细致地想了想,原来大部分劝我转入 vim 的人都曾建议我先一头扎进去。“第一件事:把上下左右键关掉。”“别用鼠标,强迫你自已去用键盘。”

被 Carl 说服,我用 vim 的头几天基本照我用 Textmate 那样来(除了必须在正常和插入模式之间切换)。我给 MacVIM 安装了 NERDTree 插件,加上了最常用的 vim “扩展包”,接着就上路了。(值得一提的是,我安装了 topfunky 的 PeepOpen,一个很有帮助又极常用的操作,没它简直活不下去。)

第一天,我靠鼠标滚轮滑上滑下,点点东西、高亮代码,把大部分时间花在插入模式下。稍微比我在 Textmate 下效率差点,不过基本上跟我对一个新工具的期望相符。简而言之,虽然我有点不顺,但还能够在第一天完成大部分的工作。

随着时间积累,我从各处学会了一些指令。第一个于我很重要的就是 ci"(意指:替换出现在接下来" 中的内容,并进入插入模式) 中的 ci。只这一个指令就弥补了我在学习新工具时损失的大部分效率。用惯了 oOA:N/search 之后,我的效率已经比 Textmate 稍高一些。

当然,有些时候我还是步履维艰。不过几天过后,用 Textmate 做任何事都有笨重的感觉(我常常用 oO 往当前行之上或之下插入新行)。

能够坚持走到这种地步,是因为我用了鼠标滚轮和按键、方向键,还用了apple-f来查找文本,apple-s来保存文件,还有一整套其它常用的习惯操作。我反而没有停在原地琢磨怎么一次性把我所有操作都切换过来。

说“显而易见啊,你学 vim 当然得一步步来”的那些人,我只想对他们说,过去我跟许许多多的 vim 用户聊过,却从没得到过那样的建议。相反,我得到一大堆“敦敦教诲”——说什么禁用方向键啊,别用鼠标啊,学习用(效率更高的) vim 方式做所有事——全部一股脑抛给我。那些人就是受不了我继续用一个过时的操作指令(像apple-f),觉得 vim 明明有更好的工具可用。

那些正考虑用 vim 的人,我给出的建议是用 MacVIM,配上 NEDTree、PeepOpen(或 command-t),还有鼠标、方向键和所有你想用的熟悉的 OSX 操作。不久,显然会有更好的方式去做所有这类事情。当你短期内就成功地完成转换,又没丧失工作能力时,便会大加赞赏这种新发现的高效率工具。

译者善意的闲人尚未开通打赏功能

相关文章