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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

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

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

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

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

其他回答

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

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

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

像我一样。用它做任何事情,在freenode的#vim中闲逛。

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

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

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

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

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

这些年来,我一直断断续续地使用vim(偶尔做一些系统管理工作)。我最近才开始花更多的时间在里面做我的编程工作。我建议也从gvim开始。它与大多数操作系统环境集成得很好,(甚至更好),当你需要时,你可以回到鼠标:)。

要开始使用vim,运行一次或两次vimtutor(与gVim捆绑在一起)(大约需要一个小时)。我不能夸大它对我的帮助!尤其是第一部分,关于在文档中移动的不同方式,以及如何用运动命令记录编辑动作,等等。在那之后,事情就会清楚得多。

然后,开始对它进行快速、小的编辑(替换记事本的东西),直到你能舒服地快速进行有用的剪辑。然后试着在里面做你的日常工作。你会发现自己非常渴望在其他编辑器中使用“重复最后一个动作”命令!

就我个人而言,我必须确保我可以在几个应用程序中使用Vim键绑定(或者至少足够接近)。每当我改变编辑器时,都必须完全切换我编辑文本的方式,这使得Vim编辑风格很难被肌肉记忆所接受。

在我的例子中,Viemu + vimperator成功了。