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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

我使用vi的主要原因是ssh(或Windows上的Putty):当你远程登录到Unix服务器时,vi总是可用的。当光标键和退格/删除键都没有映射时,它可以与VT100一起工作。

还有一本书,如VI编辑器口袋参考帮助很大。

其他回答

步骤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。学习一门 我的建议是“很少经常”——外面有太多这样的东西 坚持一口大小的知识块将是获取知识的最佳方式 棍子。

第四步:利润

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

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

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

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

就我个人而言,我必须确保我可以在几个应用程序中使用Vim键绑定(或者至少足够接近)。每当我改变编辑器时,都必须完全切换我编辑文本的方式,这使得Vim编辑风格很难被肌肉记忆所接受。

在我的例子中,Viemu + vimperator成功了。

你应该从vim (Vi IMproved)开始,尤其是它的GUI - gVim。GUI有菜单,在Windows上您可以使用复制、剪切和粘贴快捷方式,因此您可以立即替换记事本。由于菜单显示了快捷方式(vim命令),您可以学到很多东西。

从一开始就应该做的另一件事是根据需要配置vi。例如,可以将vim转换为Python IDE。通过这样做,您将没有理由使用其他编辑器,因为vi将为您提供所需的一切。

面对这样的事实,它将立即造成性能损失。在学习一种新工具时,你需要能够做一些你已经知道如何用其他工具做的事情,这样问题就不是你的问题。在使用新工具一段时间后,它将消失,你将只关注潜在的问题。

对于像vim这样的东西(正如其他人所说,vim比vi优越得多),定期重读和浏览文档是很重要的。如果没有它,界面是完全无法被发现的。每读一篇新文章,你就会发现一个特点,然后说:“啊哈,这就解决了我上周想要解决的问题”,然后把它记在脑子里。对于你来说,与现实问题相关的解决方案比随机的捷径更容易记住。

最后,您可以使用vim的一个相当小的功能子集,所以不要被所有花哨的功能搞得不知所措。想想Word中的所有功能,99%的人都在使用它们吗?