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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

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

通过vimtutor。

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

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

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

其他回答

面对这样的事实,它将立即造成性能损失。在学习一种新工具时,你需要能够做一些你已经知道如何用其他工具做的事情,这样问题就不是你的问题。在使用新工具一段时间后,它将消失,你将只关注潜在的问题。

对于像vim这样的东西(正如其他人所说,vim比vi优越得多),定期重读和浏览文档是很重要的。如果没有它,界面是完全无法被发现的。每读一篇新文章,你就会发现一个特点,然后说:“啊哈,这就解决了我上周想要解决的问题”,然后把它记在脑子里。对于你来说,与现实问题相关的解决方案比随机的捷径更容易记住。

最后,您可以使用vim的一个相当小的功能子集,所以不要被所有花哨的功能搞得不知所措。想想Word中的所有功能,99%的人都在使用它们吗?

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

强迫自己这样做的最简单方法可能就是从机器中删除所有其他编辑器。远离诱惑:)

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

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

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

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

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

我用它在linux的web服务器上编辑文件,而不是使用FTP。那是9年前的事了,我已经掌握了这些技能。

另一件事是找到一些你可以在VI中做的很棒的事情,比如全局搜索和替换或更强大的东西,并在需要的时候使用VI。