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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

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

所以你可以开始使用奶油作为常规的文本编辑器,然后尝试“专家模式”,直到你足够舒服,完全切换到vim。

其他回答

就我个人而言,我必须确保我可以在几个应用程序中使用Vim键绑定(或者至少足够接近)。每当我改变编辑器时,都必须完全切换我编辑文本的方式,这使得Vim编辑风格很难被肌肉记忆所接受。

在我的例子中,Viemu + vimperator成功了。

你可以得到一个原始的快乐黑客键盘(没有方向键),每次开始编辑时把你的(无线)鼠标放在你够不到的地方。

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

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

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

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

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

对我来说,VI是一个很好的应急编辑器,但如果有其他可用的替代方案,我就不想使用它。我知道这并不适合所有人,我并不是说这很糟糕,我只是个人更喜欢可发现的UI。

但是如果你想在Linux中做任何重要的事情,你真的必须了解VI !

所以只需要学习基础知识: i =插入模式 Esc =leave插入模式 :wq=save and quit :问!=不要存钱就放弃 X =当不在插入模式时,删除该字符。 / =搜索

这能帮你度过任何剪辑上的难关。使用这几个命令(当然还有导航)没有什么是做不到的。其余的你可以根据需要“附加”。

不过,要有参考资料或书籍可用——当您需要使用VI时,可能无法浏览网页——但是手册页可能有些用处。

两件事将大大提高你的vi技能:

练习,练习,再练习 Nethack