跳至内容
THE GUILD
0%
服务 产品 招聘 关于我们 博客 常见问题 联系我们
VS Code?更像VS慢:一个Vim狂热者的宣言

让我们谈谈那些Vim狂热者。你知道的那种人——他们坐在办公室的角落里,自鸣得意地在终端里敲打着,而我们这些凡人像拿着相机的游客一样在VS Code里点来点去。他们大约从不伸手去拿鼠标,已经把他们的编辑器配置成能做一些看起来像黑魔法的事情,而且他们绝对喜欢告诉你为什么你的开发环境是低劣的。

但事情是这样的:在观察这些住在终端里的巫师多年后,他们那令人难以忍受的优越感可能真的有些道理。让我们深入了解为什么这些键盘战士选择Vim而不是VS Code,以及为什么他们对此喋喋不休。

伟大的觉醒:从鼠标农民到键盘战士

想象这个悲惨的场景(描述了大多数普通开发者):

  1. 无尽的鼠标舞蹈:手移到鼠标,点击,滚动,再点击,回到键盘
  2. 扩展成瘾:“一定有个扩展可以做到!“再安装47个扩展
  3. 内存大屠杀:VS Code消耗的内存比打开50个标签的Chrome还多
  4. 等待游戏:“加载中…”等着Electron决定今天是否想工作

现在见证Vim狂热者的工作流程:

  1. 纯键盘掌控:他们用hjkl导航,用ciw改变单词,用yy5p复制行
  2. 闪电般的速度:想到,打出,完成。没有等待,没有加载,没有”请稍等,我们正在索引您的项目”
  3. 最小资源使用:他们的编辑器在土豆电脑上运行,性能仍然超过花哨的IDE
  4. 终端至上:一切都在一个地方,不用切换窗口,只有纯粹的生产力

使用Vim的终端工作流程

数学证明:Vim > VS Code

以下是这些Vim爱好者如何分解他们的”硬数据”:

打开文件的时间:

  • VS Code:点击,等待,导航,点击,再等待… 约5-8秒
  • Vim::e filename 约0.2秒

导航到第847行的时间:

  • VS Code:Ctrl+G,输入数字,回车,等待滚动动画 约3秒
  • Vim::847847G 约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周:掌握文本对象(ciwda(yip),体验他们所说的”欣快感” 第4周:配置第一个插件,达到他们认为的”超越” 第∞周:持续优化工作流程,对同事变得令人难以忍受

判决:理解终端抵抗

根据Vim布道者的说法,如果开发者喜欢以下内容,VS Code很好:

  • 等待东西加载
  • 让50个扩展管理他们的生活
  • 用2GB内存编辑文本文件
  • 像还是1995年一样依赖鼠标

但如果开发者想要:

  • 以思维的速度编码
  • 完全控制他们的环境
  • 高效使用计算机资源
  • 加入住在终端里的代码巫师行列

那么这些键盘纯粹主义者坚持是时候拥抱Vim了。他们承诺未来的自己(和内存)会感谢任何做出转变的人。

正如他们喜欢提醒每个人的那样:这个世界上只有两种开发者——使用Vim的,和还没发现它的。选择权在你手中,但明智地选择,他们警告说。你的键盘在等待。


准备开始你的旅程了吗? 从终端中内置的vimtutor命令开始,或者尝试Vim Adventures(一个基于游戏的教程)。然后转向Neovim和优秀的kickstart.nvim配置。

需要灵感? 查看这篇关于为什么开发者在2023年仍然选择Vim的精彩文章

警告:使用Vim的副作用可能包括生产力提高、终端成瘾,以及无法抗拒向他人传教模态编辑优越性的冲动。