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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

步骤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。学习一门 我的建议是“很少经常”——外面有太多这样的东西 坚持一口大小的知识块将是获取知识的最佳方式 棍子。

第四步:利润

其他回答

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

谷歌是你的朋友。保持一个窗口或选项卡在手边,当你有一些你需要做几次的事情,比如缩进代码或用正则表达式搜索,查找它。最好的提示网站将变得熟悉,收藏一些,也许打印出一个小抄。

我在Windows上有VI,我使用的版本如下所示,如果我在控制台窗口中,我总是默认使用VI,那么无论我在什么操作系统上运行,我知道我可以编辑文件。相反,如果我在UI模式,我使用notepad++ go figure。

NT VI - 0.23版 由: 托尼·安德鲁斯 基于一个程序由: 蒂姆•汤普森

虽然我是vi的忠实粉丝,特别是vim,但有很多功能强大的编辑器,你不应该觉得你必须使用vi,或者它在某种程度上是某种绝对完美的编辑器,因为它不是。

If you have to force yourself to use vi, I would be concerned that you don't feel productive using it. However, if you insist on persisting, I would probably just make sure I used vi for every single editing task. Whenever I need to do something and I don't quite no the best way to do it, I'd try to find the optimal (in terms of minimal keystrokes) to do it in vi after I did it a non-optimal normal way. I'd then make a post-it note with this little tip (or maybe just a text file) so I would remember it for next time.

随着时间的推移,您使用vi的效率将显著提高。

这些年来,我一直断断续续地使用vim(偶尔做一些系统管理工作)。我最近才开始花更多的时间在里面做我的编程工作。我建议也从gvim开始。它与大多数操作系统环境集成得很好,(甚至更好),当你需要时,你可以回到鼠标:)。

要开始使用vim,运行一次或两次vimtutor(与gVim捆绑在一起)(大约需要一个小时)。我不能夸大它对我的帮助!尤其是第一部分,关于在文档中移动的不同方式,以及如何用运动命令记录编辑动作,等等。在那之后,事情就会清楚得多。

然后,开始对它进行快速、小的编辑(替换记事本的东西),直到你能舒服地快速进行有用的剪辑。然后试着在里面做你的日常工作。你会发现自己非常渴望在其他编辑器中使用“重复最后一个动作”命令!