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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

我在Windows上有VI,我使用的版本如下所示,如果我在控制台窗口中,我总是默认使用VI,那么无论我在什么操作系统上运行,我知道我可以编辑文件。相反,如果我在UI模式,我使用notepad++ go figure。

NT VI - 0.23版 由: 托尼·安德鲁斯 基于一个程序由: 蒂姆•汤普森

其他回答

我的做法是,一开始花几分钟复习最基本的内容——移动光标,前后搜索,跳转到下一个和上一个单词/句子/段落,等等。插入、添加。你脑子里装得下什么都行。然后,当你有事情要做而又不需要在15秒内完成时,强迫自己去做。

当你对基本的命令非常熟悉时,慢慢地学习更高级的命令——尤其是那些利用你之前学习过的命令(比如替换接下来的3个单词,或者删除到下一个搜索目标)。

我喜欢使用VI,一旦我学会了。高级命令比大多数GUI编辑器提供的功能强大得多,而且它无处不在且基于文本,因此可以通过ssh使用,这一点就更好了。

当我开始为一家ISP工作时,我才学会了vi,那里编辑域的脚本只能在终端上打开vi。我别无选择,只能学习它,但我从未后悔过。

简而言之,把自己放在一个你别无选择只能学习的环境中。

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

通过vimtutor。

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

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

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

在现代vi (vim?)中,我发现真正令人困惑的一件事是输入模式允许命令模式的一些功能,但不是所有功能。当输入模式完全简化为“只覆盖,不可能移动光标”时,我感觉舒服多了,就像老Solaris vi所拥有的那样。真正的vi需要您大部分时间保持在命令模式。

话虽如此,现在已经没有必要学习vi了——emacs同样无处不在。:)

你可以先从奶油开始。Cream将自己描述为vim的“现代配置”。基本上,它是vim的一个特殊版本,从所有实际目的来看,它的外观和感觉都与任何其他文本编辑器相似。但是启用“专家模式”,您就拥有了vim的所有功能和行为。

所以你可以开始使用奶油作为常规的文本编辑器,然后尝试“专家模式”,直到你足够舒服,完全切换到vim。