不久前,我读了viemu创建者的一篇文章,澄清了许多关于vi的误解,并解释了为什么它是一个好主意(以及为什么它在过去30多年里非常流行)。同一个人还有一套很棒的图形备忘单,每次教一些基本知识。
我相信。
事实上,在过去的两年里,我一直被说服。但是我仍然没有强迫自己学习vi作为我的主要编辑器,学习曲线太高了。当我开始工作时,可接受的但即时的生产力(使用我当前的编辑器)到目前为止已经超过了进一步的巨大生产力(使用vi)。
有没有人有什么好的建议来帮助你度过学习曲线?它可以是直接的提示,一些其他教程或文章,无论什么。
编辑:注意,我知道vi的vim/gVim, Cream和MacVim(等等)变体。我的问题是指vi家族作为一个整体。谢谢你的精彩回答。
更新(2009年4月)
自去年12月以来,我一直在日常的职业生活中使用Vim(更准确地说,是MacVim)。我不会回去的。
祝大家在掌握Vim的过程中好运。
我要做的第一件事是在方向键和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最大的好处之一是它提供的速度。方向键还会阻止你真正拥抱模态的本质,这在掌握后是非常强大的。
每次你在做一项复杂的编辑任务时,都要思考是否有更有效的方法来完成它。大多数情况下,当您可以用简单的术语描述它时(如“交换文本段落”或“删除注释行中X字符后面的所有内容”),您只需在vim中敲击几下键就可以完成。
有一些关键特性非常有用,你会一直用到它们。我最喜欢的是:
方块选择(Ctrl-V)
宏记录(q)
虚拟编辑(:set ve=all)
正则表达式
连接到外部Unix程序
键映射
自动补全(C-p, C-x C-p, C-x C-f)
操作+移动组合(这是非常强大的)
询问其他程序员他们认为最有用的功能是什么,然后采用那些更适合你大脑的功能。从别人的。vimrcs中窃取想法(这是我的)