让我们谈谈那些Vim狂热者。你知道的那种人——他们坐在办公室的角落里,自鸣得意地在终端里敲打着,而我们这些凡人像拿着相机的游客一样在VS Code里点来点去。他们大约从不伸手去拿鼠标,已经把他们的编辑器配置成能做一些看起来像黑魔法的事情,而且他们绝对喜欢告诉你为什么你的开发环境是低劣的。
但事情是这样的:在观察这些住在终端里的巫师多年后,他们那令人难以忍受的优越感可能真的有些道理。让我们深入了解为什么这些键盘战士选择Vim而不是VS Code,以及为什么他们对此喋喋不休。
伟大的觉醒:从鼠标农民到键盘战士
想象这个悲惨的场景(描述了大多数普通开发者):
- 无尽的鼠标舞蹈:手移到鼠标,点击,滚动,再点击,回到键盘
- 扩展成瘾:“一定有个扩展可以做到!“再安装47个扩展
- 内存大屠杀:VS Code消耗的内存比打开50个标签的Chrome还多
- 等待游戏:“加载中…”等着Electron决定今天是否想工作
现在见证Vim狂热者的工作流程:
- 纯键盘掌控:他们用
hjkl导航,用ciw改变单词,用yy5p复制行 - 闪电般的速度:想到,打出,完成。没有等待,没有加载,没有”请稍等,我们正在索引您的项目”
- 最小资源使用:他们的编辑器在土豆电脑上运行,性能仍然超过花哨的IDE
- 终端至上:一切都在一个地方,不用切换窗口,只有纯粹的生产力

数学证明:Vim > VS Code
以下是这些Vim爱好者如何分解他们的”硬数据”:
打开文件的时间:
- VS Code:点击,等待,导航,点击,再等待… 约5-8秒
- Vim:
:e filename约0.2秒
导航到第847行的时间:
- VS Code:Ctrl+G,输入数字,回车,等待滚动动画 约3秒
- Vim:
:847或847G约0.1秒
复制一行10次的时间:
- VS Code:选择行,复制,粘贴,粘贴,粘贴…(一边重复一边质疑人生选择) 约15秒
- Vim:
yy10p约0.5秒
根据Vim信徒的说法,数学不会说谎。在整个职业生涯中,这实际上是几年的生命返还给开发者。(尽管他们把大部分节省的时间都花在配置.vimrc文件上了。)
纯键盘哲学:再也不要触摸那个鼠标
VS Code用户不理解的是:每次你伸手去拿鼠标,某个地方就有一只小猫死去。好吧,也许不是字面意思,但你的生产力确实受到了打击。
Vim的哲学很简单:你的手应该住在键盘上,就像它们生来就在那里一样。主键行就是你真正的家。鼠标就像家庭聚会上那个烦人的亲戚——被承认但被避开。
常见的VS Code工作流程:
思考 → 手移到鼠标 → 指向 → 点击 → 手移回来 → 打字 → 永远重复
开悟的Vim工作流程:
思考 → 打字 → 完成
美妙之处在于Vim命令读起来像英语。想改变光标下的单词?cw(change word,改变单词)。删除括号内的所有内容?di((delete inside parentheses,删除括号内)。这就像与你的编辑器对话,除了你的编辑器实际上在听并做你想要的事情。
插件生态系统:质量vs数量
VS Code方法:“让我们安装50个扩展,希望它们不冲突!”
- Git集成扩展
- 括号高亮扩展
- 文件图标扩展
- 主题扩展
- 管理其他扩展的扩展
- 你的内存已经离开了聊天室
Vim方法:“让我们只安装我们需要的,让它快得飞起!”
- Telescope:模糊查找让VS Code的搜索看起来像拨号上网
- LSP:实时错误检查,没有臃肿
- Treesitter:真正理解你代码的语法高亮
- NvimTree:不会吃掉你整个侧边栏的文件浏览器
区别?根据Vim布道者的说法,他们的插件是为速度和效率而构建的。VS Code扩展是为…嗯,他们不完全确定是为什么而构建的,但Vim群体坚持认为绝对不是为了性能。
终端优势:一个环境统治一切
当我们其他人像马戏团表演者一样在多个窗口之间切换时,这些终端纯粹主义者生活在他们所说的”终端禅”中:
- 文件编辑:Vim
- Git操作:内置终端命令
- 项目导航:文件管理器和模糊查找器
- 测试:终端
- 调试:终端(使用适当的工具)
- 其他一切:还是终端
这就像有一把瑞士军刀,除了每个工具都是其类别中最好的,而且它们都完美地协同工作。
自定义:你的编辑器,你的规则
根据Vim纯粹主义者的说法,VS Code给你主题和一些设置。Vim给用户对现实的完全控制。
想创建一个自定义命令来格式化代码、运行测试、提交到git并煮咖啡?显然对这些巫师来说很容易:
:command! DoEverything !format-code && run-tests && git commit -m "magic" && make-coffee
“试试在VS Code中做到这个,“他们会自鸣得意地挑战你。“我们等着。”
他们的vimrc文件成为他们开发进化的活文档。对这些人来说,这不仅仅是配置——这是用代码写成的个人宣言。
性能差异:固态硬盘vs软盘
VS Code启动时间:3-10秒(如果Electron正在经历存在危机则更长) Vim启动时间:瞬间(字面上比你眨眼还快)
VS Code内存使用:200-800MB(这只是编辑器,注意) Vim内存使用:10-30MB(包括你的整个工作流程)
VS Code在旧硬件上:“你试过关机再开机吗?” Vim在旧硬件上:“什么硬件限制?“
学习曲线:投资vs即时满足
即使是Vim倡导者也承认——他们心爱的编辑器有学习曲线。他们把它描述为当你习惯了自动挡轿车时学习驾驶一级方程式赛车。第一周,新皈依者想把电脑扔出窗外。第二周,他们开始看到光明。到第三周,他们变得对此令人难以忍受地传教。
Vim爱好者认为VS Code很舒适——就像微软的温暖拥抱。但对他们来说,舒适是成长的敌人。他们相信Vim通过让开发者在每次击键时都考虑效率来强迫他们变得更好。(是否有人要求这种程度的优化是另一个问题。)
真实场景:Vim炫技
场景1:需要在远程服务器上编辑配置文件?
- VS Code:安装扩展,设置远程开发,等待同步…
- Vim:
ssh server && vim config.yml完成。
场景2:处理一个10,000行的文件?
- VS Code:死亡沙滩球
- Vim:“什么文件?我没注意到有什么特别的。”
场景3:需要在50个地方做同样的编辑?
- VS Code:查找和替换,希望它有效,手动检查每一个
- Vim:录制一个宏,一个命令重放50次
社交福利:最大自鸣得意成就解锁
让我们不要忽视社交方面。当Vim用户随意提到他们的编辑器选择时,他们相信他们立即获得:
- +50 开发者信誉
- +25 终端街头信誉
- +100 “我知道我在做什么”光环
- 无限评判使用鼠标的人的权利
另外,根据他们的说法,没有什么比看到别人在你比他们打开VS Code还快的时间内编辑复杂文件时的表情更棒了。(这种表情通常是困惑混合着轻微的恼怒,但他们把它解读为敬畏。)
迁移路径:通往终端开悟的旅程
以下是Vim皈依者描述的他们典型的进程:
第1周:安装Neovim,稍微哭一下,质疑人生选择
第2周:学习基本导航(hjkl),开始感受”力量”
第3周:掌握文本对象(ciw,da(,yip),体验他们所说的”欣快感”
第4周:配置第一个插件,达到他们认为的”超越”
第∞周:持续优化工作流程,对同事变得令人难以忍受
判决:理解终端抵抗
根据Vim布道者的说法,如果开发者喜欢以下内容,VS Code很好:
- 等待东西加载
- 让50个扩展管理他们的生活
- 用2GB内存编辑文本文件
- 像还是1995年一样依赖鼠标
但如果开发者想要:
- 以思维的速度编码
- 完全控制他们的环境
- 高效使用计算机资源
- 加入住在终端里的代码巫师行列
那么这些键盘纯粹主义者坚持是时候拥抱Vim了。他们承诺未来的自己(和内存)会感谢任何做出转变的人。
正如他们喜欢提醒每个人的那样:这个世界上只有两种开发者——使用Vim的,和还没发现它的。选择权在你手中,但明智地选择,他们警告说。你的键盘在等待。
准备开始你的旅程了吗? 从终端中内置的vimtutor命令开始,或者尝试Vim Adventures(一个基于游戏的教程)。然后转向Neovim和优秀的kickstart.nvim配置。
需要灵感? 查看这篇关于为什么开发者在2023年仍然选择Vim的精彩文章。
警告:使用Vim的副作用可能包括生产力提高、终端成瘾,以及无法抗拒向他人传教模态编辑优越性的冲动。