不久前,我读了viemu创建者的一篇文章,澄清了许多关于vi的误解,并解释了为什么它是一个好主意(以及为什么它在过去30多年里非常流行)。同一个人还有一套很棒的图形备忘单,每次教一些基本知识。

我相信。

事实上,在过去的两年里,我一直被说服。但是我仍然没有强迫自己学习vi作为我的主要编辑器,学习曲线太高了。当我开始工作时,可接受的但即时的生产力(使用我当前的编辑器)到目前为止已经超过了进一步的巨大生产力(使用vi)。

有没有人有什么好的建议来帮助你度过学习曲线?它可以是直接的提示,一些其他教程或文章,无论什么。

编辑:注意,我知道vi的vim/gVim, Cream和MacVim(等等)变体。我的问题是指vi家族作为一个整体。谢谢你的精彩回答。

更新(2009年4月)

自去年12月以来,我一直在日常的职业生活中使用Vim(更准确地说,是MacVim)。我不会回去的。

祝大家在掌握Vim的过程中好运。


当前回答

我用它在linux的web服务器上编辑文件,而不是使用FTP。那是9年前的事了,我已经掌握了这些技能。

另一件事是找到一些你可以在VI中做的很棒的事情,比如全局搜索和替换或更强大的东西,并在需要的时候使用VI。

其他回答

首先,您可能想要使用Vim;与vi所拥有的一切一样,它拥有一个非常优越的特性集。

也就是说,学习需要自律。如果你有一份工作,并且无法承受工作效率的下降(否则会被解雇),我建议你参加一个周末项目,唯一的目的就是学习编辑器。在你工作的时候保持文档的开放,并且要自律,不要临阵退缩。当你学得更多,变得更有效率,开始依赖肌肉记忆,坚持下去就不会那么难了。

我使用Vim的时间太长了,以至于我甚至没有考虑过按什么键来搜索、导航或保存。我的手从来没有离开过键盘。使用Vim是我在编程生涯中做出的最好的选择之一。

步骤0:学会触摸打字。说真的,如果你的手指不知道键在哪里,那么vim将是一种痛苦。而且,即使你拒绝vim,触摸输入也会改善你的编程(问Steve Yegge),因为它可以让你的大脑去监视链接。有很多软件可以帮助你提高打字水平。

步骤1:使用vimtutor开始。它在gvim(下 我想是帮助菜单)或者你可以在命令中输入“vimtutor” 线。这将花费你30-45分钟的时间,然后你的手指会 了解vi/vim的基础知识,你应该能够编辑文件 想把键盘扔出窗外。

步骤2:在所有地方使用vim。看到这个 问题 在命令中使用vim和vi键绑定的提示和链接 行,从您的web浏览器,编写电子邮件,在您的IDE…你 需要使用vim将键绑定嵌入到肌肉记忆中。

步骤3:了解更多关于vim的知识。你只会划伤 表面与vimtutor。你可以看这个 视频或 阅读这篇文章(都是关于 “有效编辑文本的七个习惯”。你可以 读 关于 提示 而且 技巧 在 StackOverflow。 您可以浏览vimtips。学习一门 我的建议是“很少经常”——外面有太多这样的东西 坚持一口大小的知识块将是获取知识的最佳方式 棍子。

第四步:利润

写出一大堆命令/快捷键很容易,但是如果没有练习就很难记住它们。

一次只关注一个新命令。当它变成自动的,比如在使用一两个星期后,再增加一个。

为了在短期内完成某些事情,你会走很长的路——这些显然是学习新捷径的机会。

根据我的经验,当我试着不一次承担太多时,事情会更容易些。

在我16岁的时候,为了我的第一份编程工作,我被迫学习Vim(老板不让我们使用其他任何东西),但直到我读了Steve Oualline的Vim Book(如果你想认真对待Vim,强烈建议把它作为起点),我才有了任何真正的进步。

实际上,掌握Vim要比掌握一些编程语言花费更多的时间(其特性非常复杂)。试图通过打印小抄来“掌握”Vim就像试图通过阅读几篇博客文章来掌握Haskell一样。准备好投入一些认真的时间,你会得到很好的回报。

删除notepad.exe并创建vim的快捷方式notepad:)

或者通过ssh或在没有GUI的机器上进行所有的编码;)