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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

我的建议是写一些简单的程序,从头到尾,使用VI。

很有可能,一开始你会因为学习曲线而感到沮丧,无法强迫自己在工作中或任何对时间敏感的环境中使用它们。

为了熟悉环境/编辑器,我以前曾经这样做过,而且效果非常好。

如果你在写作上遇到了困难,我建议你重做你在学校做过的项目(或者你以前做过的任何事情)。这种方法还有一个额外的好处,就是让您看到自己已经成为了一个多么优秀的开发人员。:)

编辑:忘记提到你应该完全从控制台来做这个,以避免任何使用鼠标的诱惑!

其他回答

这听起来很傻,但玩roguelike游戏(如《Nethack》或《Angband》)是一种使用h/j/k/l键进行光标导航的有趣方式。

使用便利贴方法:-)

在使用gvim时,允许自己使用菜单。 读一本关于vim的书或教程,这样你就知道基本知识了。 (插入和命令模式)

选择一些你认为你需要的很酷的功能,并把它们写在便利贴上 然后把它们贴在显示器下方。

一个好的开始可能是 i, a, o, gg, G,:10,/一些

还有一些剪切和粘贴 Yy dd p

最后再加上 v, v(可视模式)+剪切粘贴

然后当你知道它们的时候,用一个功能更酷的新便利贴代替它们, 重复这个过程,直到你满意为止。

/Johan

当你在工作中使用当前编辑器时,写下你在它中使用的所有快捷方式和功能。然后在周六早上坐下来,使用谷歌和stack overflow来了解如何在vi中完成这些工作。最好是使用一张(或几张)纸来完成这些工作。

现在禁用/删除工作中的其他编辑器,这样查找和重新安装它们的时间就会比查看比较表并在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。学习一门 我的建议是“很少经常”——外面有太多这样的东西 坚持一口大小的知识块将是获取知识的最佳方式 棍子。

第四步:利润

强迫自己这样做的最简单方法可能就是从机器中删除所有其他编辑器。远离诱惑:)