江湖夜雨十年灯

编辑器之神-Vim

李二花 / 2023-08-08


今天立秋,哈哈(我家小猫咪)今晚跟我特别亲密,喜欢舔我的脸和脖子,我睡眠有点浅,于是起床在楼下的餐桌上写下了这一篇(2023-08-08 02:15:00)。

8 月 6 号的时候,我发了今年第一条朋友圈,纪念 Vim 之父 Bram Moolenaar 的逝世,Vim 对于我而言已经不是一个编辑器,而是一种理念,一种工作流。

世界上只有三种程序员:一种是用 Vim 的,一种是用 Emacs 的,一种是用其他的,我是第一种。

我离开 Vim 模式已经完全无法写代码,Vim 的理念已经深深的刻在了我的工作流中,现在的这篇文字就是在 Vim 模式下的 VS Code 中写下来的。

为了用起来更舒适,字母 A 键旁边的大写锁定键,被我用 karabiner 改成了单按时 Esc 功能,在跟其他的键同时按是 Ctrl 功能。

现在大小写锁定键是我键盘中磨损最严重的键了,因为 Vim 的工作流中 Esc 和 Ctrl 是很重要的辅助键。

现在的 IDE 基本都支持 Vim 模式,Jetbrain 全家桶我必备的插件就是 Vim (没有之一),我挑选笔记工具看的第一个功能就是是不是支持 Vim, 之前的时候,我介绍过我用过的笔记工具,从 Quiver 一枝独秀,到现在 Quiver 和 Obsidian 一起挑起了我的笔记的大梁,因为他们对 Vim 的支持很好,才最终被我选为了笔记工具。

我还记得我第一次接触 Vim,是我第一份工作的 mentor 淋淋,我看到他在 pycharm 中写代码就像跳舞一样,可以非常快速的删除单词,删除一行,甚至不用键盘选中一个段落然后对里面的东西进行各种快速而又准确的替换的时候,我就被这个东西吸引了。

Practice makes perfect. 刚开始上手的时候,我就强制自己,不可以切回正常模式,就在 Vim 模式下写代码,因为我知道,只有在具体的使用环境中才可以让自己更快速的掌握直到用的十分熟练。

刚开始的时候,发现写代码的效率大大降低,但是我没有一时一刻的想法是切回普通模式,就算是在排查 bug 准备上线的过程中,我都没有切换会普通模式,就这样,从最开始的每个功能都要查一下文档,写代码的速度变得很慢,到后来,经过大概半个月的时间,基本的功能,我已经用的特别熟练了,这个时候,已经可以感觉到编辑代码的速度已经提高了很多了,特别是写完一段代码,进行重构的过程,用 Vim 做起来实在是太方便快捷了。从此之后,Vim 就成为了我写代码离不开的工具,以至于到现在,我只能用自己配置好的电脑进行快速高效的工作,因为只有在自己配置过各种不同键盘映射的电脑上,才能发挥我 Vim 的最大威力来。

有了基础的 Vim 操作后,基本可以应付大部分的场景了,但是我想更深入的了解这个工具,于是在那年的春节假期,我把到目前为止,我看过的最棒的一本 Vim 的书「Practical Vim」一章一章的学了一遍,然后我发现,我 Vim 的功力得到了大幅的提高,里面给到的好多 Vim 的流程理念到现在都在十分深刻的影响着我,以至于这本书经常处于我 iBook 的第一本的位置,因为我经常会翻阅它,到目前为止,它依然还在为我提供很多文字编辑上的解决方案。

我中间也折腾过完全使用 Vim 处理项目代码,还有 Spacemacs (带有 Vim 理念的 Emacs – Vim 和 Emacs 的骑墙党) 来开发项目,发现经过各种插件的加持,已经在很多方面可以跟付费的 IDE 功能齐平了,后来因为感觉在 Code Review 方面 IDE 具有更多的优势,于是还是切回了在 IDE 里使用 Vim 插件的方式,但是对于工具的折腾也让我体会到了很多不一样的快乐,有点像小时候折腾很多玩具的感觉。

感谢 Bram Moolenaar 给我们的世界带来了编辑器之神 Vim,让我可以更加快乐而又放肆的写代码,R.I.P.

写于 2023-08-08 03:11:00 536A.