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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

将系统上的每个终端编辑器符号链接到vim,并将系统上的每个图形化编辑器符号链接到一个脚本,该脚本将打开一个运行vim的新终端窗口。

其他回答

你可以在网上找到许多Vi/Vim备忘单,打印出来,强迫自己坚持几周。

一旦你学会了一些基本的命令,你就会非常有效率。从那里开始,只要坚持不懈,每隔一段时间学习一个新命令。你不可能学会所有的vi命令。我相信vi命令比宇宙中的原子还多!!:)

你可以先从奶油开始。Cream将自己描述为vim的“现代配置”。基本上,它是vim的一个特殊版本,从所有实际目的来看,它的外观和感觉都与任何其他文本编辑器相似。但是启用“专家模式”,您就拥有了vim的所有功能和行为。

所以你可以开始使用奶油作为常规的文本编辑器,然后尝试“专家模式”,直到你足够舒服,完全切换到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。学习一门 我的建议是“很少经常”——外面有太多这样的东西 坚持一口大小的知识块将是获取知识的最佳方式 棍子。

第四步:利润

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

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

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

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

我就是这么学会的。

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

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