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

我相信。

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

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

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

更新(2009年4月)

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

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


当前回答

如何强迫自己?我的建议是在这样一个工作环境中,你必须通过telnet / putting在windows中维护10个unix机器。您很快就会意识到,在*nix的多个变体上高效编辑文本的唯一方法是使用我所知道的几乎每个发行版都附带的标准编辑器。此外,当X11在新安装时没有启动时,vi是你唯一的朋友:)

其他回答

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

通过vimtutor。

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

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

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

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

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

在我16岁的时候,为了我的第一份编程工作,我被迫学习Vim(老板不让我们使用其他任何东西),但直到我读了Steve Oualline的Vim Book(如果你想认真对待Vim,强烈建议把它作为起点),我才有了任何真正的进步。

实际上,掌握Vim要比掌握一些编程语言花费更多的时间(其特性非常复杂)。试图通过打印小抄来“掌握”Vim就像试图通过阅读几篇博客文章来掌握Haskell一样。准备好投入一些认真的时间,你会得到很好的回报。

写出一大堆命令/快捷键很容易,但是如果没有练习就很难记住它们。

一次只关注一个新命令。当它变成自动的,比如在使用一两个星期后,再增加一个。

为了在短期内完成某些事情,你会走很长的路——这些显然是学习新捷径的机会。

根据我的经验,当我试着不一次承担太多时,事情会更容易些。

不使用X11?

$ sudu rm /usr/local/bin/emacs

将登录shell更改为vi?

首先,强迫自己使用ed,那么vi就会显得很奢侈吗?

在bash中使用vi键绑定?

开始一直使用vi ?

在我看来,学习一个编辑器和学习一门语言并没有太大的不同。沉浸式效果最好。

我使用vi进行快速编辑,或者当我因为某些原因不能使用X11时,但我生活在emacs中。真正强大的编辑器是值得花时间学习的。