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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

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

其他回答

最好的方法是什么?将您的终端设置为使用vi键绑定。

我的第一个建议是:学会快速打字,不需要看键盘。

如果您不能触摸类型,并且总是在寻找冒号或hjkl或:%s/foo/bar,请忘记它。输入可以比使用鼠标更快,但如果不是这样,vi将不起作用。

但结合良好的打字技能,ssh、screen和vi将是自然的。

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

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

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

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

不久前,我写了一篇使用Vim进行高效编辑的指南。你会发现它很有用。

我会退一步问自己“为什么我想要学习这个编辑器?”是什么让我认为它会比我现在的文本编辑器更快或更好?”然后学习那些使Vi(m)对您不可或缺的特性。

例如,Vim的CTags集成对我来说是完全不可或缺的。我使用的是一个非常非常大的代码库,在一次击键中跳转到函数或类定义的能力(不管它在哪个文件中)绝对是一个杀手级特性,没有它我就很难工作。

使用.vimrc文件来创建宏,使常见任务自动化。

你的自动编辑选择器会选择一个最快完成工作且花费最少脑力的编辑器。一点准备工作将确保编辑器是Vim。: -)