为什么要学习 Vim?

1,246 阅读3分钟

接触过好几种编辑器、IDE,最终感觉还是 Vim 最适合我。学会了 Vim 之后,几乎没有任何动力去换其他编辑器(Neovim 除外)。相信有很多 Vim 用户和我一样,对 Vim 存在这种感觉。

我所理解的 Vim 真谛是:

  • 极简的思想

其实,Vim 代表的是一种 KISS 的 Geek 思想,而不仅仅是炫耀。这种思想是指:“选择你需要的,舍弃那些你不需要的”, 一种极简思想。一个臃肿的工具,也许可以提供 100% 的功能,但是,实际上你只需要 10% 的功能,其余 90% 功能, 你可能都没有心思去研究。那为什么不丢弃臃肿的 90%,轻装上阵呢?

当然,适当的展示,活跃社区气氛,吸引新人入坑 Vim 是我辈使命。

  • Vim 模式

Vim 不同于其他编辑器的地方,就是她提供的模式化编辑,和文本对象。任何 IDE 或者编辑器模拟的 Vim 插件, 无非是实现了这两个功能。通过模式,Vim 赋予了同一个按键多种功能,大大提高了按键的功效,可以让我们双手 集中在键盘中央区域,提高效率。另外,Vim 将一切文本看成对象,比如删除一个单词,diw(delete in word) 等等这一类用法,我可以理解为 Vim 语。

记得以前看过一段文字,大致内容是这样的:

你只有折腾 Vim 累死过 3 次,你才能真正的喜欢上它,不然你就会选择放弃,最终回到 IDE。 在 Vim 的世界里,一切都需要自己动手,所以,他不适合不喜欢折腾的人,如果你对它没有 200% 的好奇心,不要玩, 不然你一定会摔键盘.

为什么说 Vim 写代码快? 前提你累死过3次,成功配置了Vim。

那么开始神奇的Vim之旅。你就发现:

  1. 你删代码比队友快: "first blood"
  2. 自动补全比队友快
  3. 在20个G的文件堆里定位代码各种秒杀你队友
  4. 在vim中完成各种shell , 秒杀你队友 “Killing spree”!
  5. 优雅的更新升级, 删除 Vim插件(前提 Vundle) “Dominating”!
  6. 随性的自定义快捷键,完全属于你自己的风格, 一个配置文件随身带着走。或者压缩Vim文件包带着走, 想去哪就去哪,不用等你队友带节奏。 Unstoppable!
  7. 你队友还在用鼠标?那你已经进化了 。 Wicked Sick!!
  8. 什么? 开始用 Vim Markdown 来写文档了? 我草,你已经超神了!! God Like!!!
  9. 你已经离不开Vim了。 从最开始被各种折腾到想要砸键盘的你, 如今你已经爱上他了。 aM-m-m-m....(重复8次)Monster Kill
  10. 你注定和 Vim 过完这一生!......Holy Shit

于是你开始对自己以前的一些行为出现质疑:

  • 删除一行 dd 不就行了,为什么要鼠标选中一行之后按下backspace?
  • 清除一行内容 S 不就行了,为什么还要鼠标选中一行然后按下backspace?
  • 给一行末尾补分号 A; 不就好了,为什么还要鼠标移过去末尾点一下然后按下;
  • 然后给n行末尾补分号,VNj 选中多行 :normal .(点可以重复上次操作)不就好了,为什么要鼠标一个一个点了然后一个个补?
  • 复制a行插入到b行后, dd掉a行在b行那按下p不就好了。 为什么要鼠标选中a,ctrl+x ,然后到b的末尾按下回车,然后ctrl-v ?

所以,同为喜欢 Vim 的你,让我们一起来说 Vim 语吧: Vim 从入门到精通