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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

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

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

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

其他回答

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

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

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

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

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

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

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

我从O'Reilly的著作《Learning the vi editor》中学习vi。

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

我就是这么学会的。

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

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

我要做的第一件事是在方向键和ins/home/end/pgup/down键上放一张纸或一本书。这些在Vi中不需要。

接下来,我习惯了按ctrl+[每当你被告知要按escape。它更快,你不需要把你的手从键盘上拿开。

然后我会看我的截屏:

http://www.youtube.com/watch?v=FcpQ7koECgk

http://www.youtube.com/watch?v=c6WCm6z5msk

http://www.youtube.com/watch?v=BPDoI7gflxM

http://www.youtube.com/watch?v=J1_CfIb-3X4

然后,练习,练习,再练习。

编辑 避免使用方向键的原因是它们会减慢你的速度。Vim最大的好处之一是它提供的速度。方向键还会阻止你真正拥抱模态的本质,这在掌握后是非常强大的。