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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

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

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

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

其他回答

ESC gg=G重缩代码和:retab将制表符转换为空格或空格转换为制表符是吸引我到vim的原因。所以实际上你不需要被迫使用它,你只需要学习什么时候它可以帮助你提高速度。

通过vimtutor。

开始使用vim进行简单的编辑,比如配置文件或html。根据需要学习命令。

在谷歌中搜索一个好的。vimrc,这个人使用的工具链与你的类似。打开语法高亮显示。找一个漂亮的配色方案。

学习宏,因为Vim最适合自动化任务和代码片段插入,比如将几个单词格式化为复杂的XML标记或将CSV转换为HTML表。

在我16岁的时候,为了我的第一份编程工作,我被迫学习Vim(老板不让我们使用其他任何东西),但直到我读了Steve Oualline的Vim Book(如果你想认真对待Vim,强烈建议把它作为起点),我才有了任何真正的进步。

实际上,掌握Vim要比掌握一些编程语言花费更多的时间(其特性非常复杂)。试图通过打印小抄来“掌握”Vim就像试图通过阅读几篇博客文章来掌握Haskell一样。准备好投入一些认真的时间,你会得到很好的回报。

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

现在禁用/删除工作中的其他编辑器,这样查找和重新安装它们的时间就会比查看比较表并在vi中进行更长的时间——也就是说,你别无选择。

最后,在你的博客上发布从旧编辑器到新编辑器的交叉快捷键列表。

好运!

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

嗯,这更像是一个生理学问题,而不是一个编程问题,但我能做我真的不想做的事情的最好方法就是去做,不要再想办法激励自己去做。

就把它想象成刷牙。你需要激励自己去做这件事吗?不,你只管做。