文章

班级神人之 Vim 大神

班里有这么一些同学,他们每天大谈特谈 Vim 优势论,认为 Vim 才是极客的风景,还创造了鄙视链,谈及使用 Nano 和图形化编辑器(如 Sublime, VSCode)的同学则群聚而笑之。

诚然,Vim 是程序员在长期编写代码的实践过程中的智慧结晶。快捷的光标移动,到 esc 的返回菜单栏,无不闪耀着快捷高效的光辉。

无可否认的是,这位同学也在熟悉 Vim 快捷键上苦练基本功。Babysteps 有之,用户手册有之,使得他对 Vim 了如指掌。然而,更进一步呢?

我今天要批判他的角度有三:

第一:眼中只有鄙视链,蓄意挑起对立。 不管使用何种代码编辑器,都是使用者的个人偏好与习惯,并无高低优劣之分。他利用 Nano 环™ 的属性认知,则是在挑起无意义的争论,正被全网封禁的卢氏风格,将人群分成 “苹果”、“安卓” 的 “三六九等”,实则体现的是形式主义和官僚主义的流弊。不同的编辑器有其不同的特点,尤其不同的使用条件和范围。Vim 用于编辑长篇大论,因为它高效;Nano 用于临时短篇,因为它轻量。事实上,这位同学本人也在编辑某些配置文件时偷偷使用了 Nano。

第二:精益求精不彻底,用法不伦不类。 Vim 的精髓在于完全的键盘化,完全地脱离 GUI。然而,这位同学依然沉迷于 Windows 的怀抱,仍然摆脱不了 VSCode 的温床。他在 VSCode 中安装了 Vim 快捷键插件,以此在图形化 VSCode 的当中使用 Vim 快捷键。这样的用法会产生许多弊端。例如,(后文模糊不清)

第三:不分场合一味用,时常盲目排外。 这位同学的偏执,还体现在他试图用 Vim 这把“锤子”去敲所有的“钉子”。比如,在需要富文本编辑、图形化调试(GUI Debugging)或是团队实时协作(Live Share)时,现代 IDE 提供的集成环境显然更有效率。但他罔顾这些应用场景的差异,盲目排斥这些工具,甚至在团队协作中,强行要求他人迁就他的编辑习惯。这不仅降低了团队的整体效率,也违背了技术服务于协作的初衷。

综上所述,Vim 诚然是一款强大的工具,但工具终究是为人服务的。沉迷于工具带来的优越感,制造对立,忽视了工具的适用性,甚至用法都“不纯粹”,这便舍本逐末了。真正的“大神”,应当是海纳百川,手中有“Vim”,心中也有“VSCode”,择其善者而从之,在合适的场景选用合适的工具,而非画地为牢,成为工具的“信徒”。

本文由作者按照 CC BY 4.0 进行授权

© Dignite. 保留部分权利。 由  提供CDN加速。

浙ICP备2023032699号 | 使用 Jekyll 主题 Chirpy