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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

我使用vi的主要原因是ssh(或Windows上的Putty):当你远程登录到Unix服务器时,vi总是可用的。当光标键和退格/删除键都没有映射时,它可以与VT100一起工作。

还有一本书,如VI编辑器口袋参考帮助很大。

其他回答

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

通过vimtutor。

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

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

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

玩很多nethack游戏。我上大学的时候就是这么做的,后来我发现光标的移动也是一样的。尽管此时您可能需要更改设置以使用vi样式的键映射。

使用便利贴方法:-)

在使用gvim时,允许自己使用菜单。 读一本关于vim的书或教程,这样你就知道基本知识了。 (插入和命令模式)

选择一些你认为你需要的很酷的功能,并把它们写在便利贴上 然后把它们贴在显示器下方。

一个好的开始可能是 i, a, o, gg, G,:10,/一些

还有一些剪切和粘贴 Yy dd p

最后再加上 v, v(可视模式)+剪切粘贴

然后当你知道它们的时候,用一个功能更酷的新便利贴代替它们, 重复这个过程,直到你满意为止。

/Johan

首先,您可能想要使用Vim;与vi所拥有的一切一样,它拥有一个非常优越的特性集。

也就是说,学习需要自律。如果你有一份工作,并且无法承受工作效率的下降(否则会被解雇),我建议你参加一个周末项目,唯一的目的就是学习编辑器。在你工作的时候保持文档的开放,并且要自律,不要临阵退缩。当你学得更多,变得更有效率,开始依赖肌肉记忆,坚持下去就不会那么难了。

我使用Vim的时间太长了,以至于我甚至没有考虑过按什么键来搜索、导航或保存。我的手从来没有离开过键盘。使用Vim是我在编程生涯中做出的最好的选择之一。

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

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

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