不久前,我读了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编辑器口袋参考帮助很大。

其他回答

嗯,这更像是一个生理学问题,而不是一个编程问题,但我能做我真的不想做的事情的最好方法就是去做,不要再想办法激励自己去做。

就把它想象成刷牙。你需要激励自己去做这件事吗?不,你只管做。

我的建议是:从小事做起。只要从记住一小部分最有用的命令开始。当我开始创建vi时,以下是我最喜欢的10个:

(Esc)返回命令模式(最重要!) 在光标后添加文本 在当前行的末尾添加文本 X删除1个字符 Dd删除一行 用R替换文本(覆盖) U撤销 :问!(Enter)不保存退出 :w(输入)保存 ZZ保存并退出

只需使用这些命令就可以完成许多基本的编辑工作。一旦你适应了,剩下的看起来就不太难了。

顺便说一句,我想补充一点,我曾经依赖vi作为我的主要文本编辑器,但现在只有在我不得不这样做的时候。就我而言,当我使用Emacs或Visual Studio这样的工具时,工作效率会更好(请注意:“在我的情况下”)。尝试不止一种工具,选择最能提高效率的那一种。好运!

谷歌是你的朋友。保持一个窗口或选项卡在手边,当你有一些你需要做几次的事情,比如缩进代码或用正则表达式搜索,查找它。最好的提示网站将变得熟悉,收藏一些,也许打印出一个小抄。

将系统上的每个终端编辑器符号链接到vim,并将系统上的每个图形化编辑器符号链接到一个脚本,该脚本将打开一个运行vim的新终端窗口。

当你在工作中使用当前编辑器时,写下你在它中使用的所有快捷方式和功能。然后在周六早上坐下来,使用谷歌和stack overflow来了解如何在vi中完成这些工作。最好是使用一张(或几张)纸来完成这些工作。

现在禁用/删除工作中的其他编辑器,这样查找和重新安装它们的时间就会比查看比较表并在vi中进行更长的时间——也就是说,你别无选择。

最后,在你的博客上发布从旧编辑器到新编辑器的交叉快捷键列表。

好运!