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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

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

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

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

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

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

其他回答

为什么不让我用我自己的低摩擦方式来强迫自己呢?: -)

我所做的很简单:我尝试让我的git使用vim提交消息(当您没有在命令行指定消息时,默认编辑器)。

当然,提交消息太短了,几乎没有什么帮助。但是当使用git commit -amend重新编辑消息时,它会更有帮助。

我从O'Reilly的著作《Learning the vi editor》中学习vi。

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

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

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

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

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

等到您不得不在实际环境中调试一个奇怪而奇妙的问题时,您所能做的就是进入命令行。您可能最终不喜欢VI,但它将为您节省大量时间,并且您将学习大量的技巧来逐步查看大量(日志)文件。