Vim - 适合自己的,才是最好的

VimEmacsIDE工具Tool

原文地址:https://geekplux.com/2015/06/06/vim-those-fit-yourself-are-the-best (opens in a new tab)

Vim 被称为编辑器之神,是我用过之后才体会到的,用之前实在不敢对它做出什么评价。在大学时代,Vim 的大名就已如雷贯耳,但由于它陡峭的学习曲线,一直望而却步。等真正开始学习之后,发现并没有想象中的复杂,也没有所谓的瓶颈,只要在实际写代码中强迫自己使用就可以了,无形中就会形成习惯。最初的不适,换来的是效率的飞升。这和我当初学习双拼 (opens in a new tab)的感觉一样。下图是我的 Vim 界面:

我的 Vim 界面

学习方式

我一开始也是看了很多教程,这里我就不说具体的学习方法了,因为 Google 上一搜一大堆。

我只想谈一点:很多「过来人」告诫新手,一开始使用 Vim 一定不能使用插件,要从最纯净的 Vim 开始练习。他们认为一上手就使用别人的配置,很容易被别人影响,不能领会到自己配置 Vim,这种从无到有的感觉。虽然我也很喜欢折腾的感觉,但这对于学习、入门一个工具来说有点南辕北辙,我们学习一个工具就是为了用好它,或者用它来为我们服务。为什么要我们去适应它呢?也许这不符合 Vim 的哲学,但是我觉得:

如果你学习 Vim 是为了体验学习的新鲜感,或者业余玩味,请忽略我上面的话。但如果你的最终目的是为了在实际中用到它,提升我们的工作效率,那你不妨和我一样,直接拉别人的配置下来,在 Shell 里输入 Vim 启动,开始写代码!

当时我找到了 k-vim (opens in a new tab),按照他的安装步骤,很简单就把 Vim 配置好了,启动 Vim,发现界面也很漂亮,嗯,这就是我要的效果。接着,我打开自己那两天正在写的项目,通过仅会的四个快捷键 HJKL 移动光标来查看文件。然后我仔细阅读了 k-vim (opens in a new tab) 的 README 文件,把它提到的几个快捷键试了试,感觉很不错。接下来的几天,它的 README 网页我一直开着,遇到想要的快捷键一搜就搞定,虽然写代码的效率确实下降了很多,但对编辑器的使用越来越纯熟。一周之后我已经习惯用 Vim 来编程了。

接下来开始进一步研究 Vim,理解 Vim 的三种模式(正常模式、命令模式、视图模式),然后掌握如何配置插件快捷键就 OK 了。最关键一点就是要实战,强迫自己所有的操作只用键盘,强迫只用 Vim 作编辑器。

插件与快捷键

Vim 的插件可以通过 Vundle (opens in a new tab) 来管理。(据说 vim-plug (opens in a new tab) 也挺好用)

只需两步:

其他的命令有:

:BundleUpdate    //更新插件
:BundleClean     //删除插件

个人觉得必备的插件:

而快捷键的学习方法,就是用到的时候去 Google,多用几次就记住了。如果它自带的快捷键用着不舒服,你完全可以自己重设,Vim 就是自由,不必拘泥条条框框。

哲学

非常推荐阅读 Stack Overflow 上的这篇回答:

What is your most productive shortcut with Vim? (opens in a new tab)

这篇真正阐述了 Vim 作者当初设计 Vim 快捷键时的哲学,看懂这篇对 Vim 快捷键的掌握会更上一层。

感悟

在学习 Vim、使用 Vim 的过程中,我最大的感悟就是**「适合自己的,才是最好的」**。

很多插件看起来很酷炫,快捷键几下就能实现很繁杂的操作,但是你不一定会有使用这个插件的需求,或者即使用也用的不多。有人总喜欢拿 IDE 和 Vim 比,我觉得这根本没有比较的必要,你两个都用也没什么问题。大的项目,复杂的文件结构和引用,你不用 IDE 而用 Vim,是浪费时间。而且一般 IDE 都提供了 Vim 模式,你仍可以在 IDE 中继续击键如飞。

用 Vim 体验的是一种轻便、自由、可塑的感觉。你可以根据自己的需求来培养 Vim,这就像恋(gao)爱(ji)一样是两个人互相适应的过程。互相习惯才能把效率最大化。


推荐链接