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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

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

其他回答

在现代vi (vim?)中,我发现真正令人困惑的一件事是输入模式允许命令模式的一些功能,但不是所有功能。当输入模式完全简化为“只覆盖,不可能移动光标”时,我感觉舒服多了,就像老Solaris vi所拥有的那样。真正的vi需要您大部分时间保持在命令模式。

话虽如此,现在已经没有必要学习vi了——emacs同样无处不在。:)

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

删除所有其他文本编辑器应用程序。

那你就得学会。

像我一样。用它做任何事情,在freenode的#vim中闲逛。

花十年时间从一台只有vi和emacs可用的机器上发布到Usenet(并且从'rn'调用emacs时启动时间很长)。

我就是这么学会的。

但是对于一种更快的方法,我所能建议的是,您只需致力于学习它,并花几个小时研究一些源代码。如果你还没有vim,请安装它——它有很棒的语法高亮显示功能。

这是非常值得的。我知道我可以在西方世界的任何地方使用任何一台Unix机器,甚至可能通过缓慢的拨号连接或在一台没有gui的机器上,并在几分钟内完全高效地工作。