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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

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

其他回答

gVIM有一个非常好的教程(链接在开始菜单组中)。

我发现通过这种方式学习有助于克服最初的学习困难;然后把我的Visual Studio切换到ViEMU帮助我磨练了我的VI技能。

此外,http://vimcasts.org/上的截屏也很棒!

我曾尝试将常见的vi命令保存在一个小的备忘单或便利贴中。我对我使用的IDE做同样的事情。我发现如果我把快捷键或命令贴在显示器上,这有助于我学习它们。一旦我用了足够多的快捷方式,并且认为我记得很清楚,我就会删除便利贴。

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

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

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

我会从argdo开始,一旦你爱上了它,剩下的就很简单了……

如何强迫自己?我的建议是在这样一个工作环境中,你必须通过telnet / putting在windows中维护10个unix机器。您很快就会意识到,在*nix的多个变体上高效编辑文本的唯一方法是使用我所知道的几乎每个发行版都附带的标准编辑器。此外,当X11在新安装时没有启动时,vi是你唯一的朋友:)