Mac端搭载Vim扩展的Atom与装Vim插件的VS Studio哪个更好?
我前后用了4年Atom,全程靠vim-mode-plus+ex-mode当主力编辑器,2021年Atom官宣停更前切到VS Code,先后试过原生VSCodeVim、vscode-neovim两套Vim适配方案,日常工作就是写React、处理前端联调、撸Git提交、改各种项目配置JSON,刚好踩过两边的坑,说点真实体感。
偏好结论
我现在长期固定用**VS Code + vscode-neovim(后台挂载Neovim实例)**的方案,切过去之后就没再装回Atom。
针对你日常工作场景的实际体感
- React开发:VS Code这块的体验比Atom后期残血生态强出一截。当年Atom靠atom-ide-ui撑着的TS/JSX提示,哪怕把延迟参数调到最低,写大组件跳props定义、找hook引用还是会卡个半秒;vscode-neovim的逻辑是把所有Vim编辑操作全扔给后台Neovim跑,类型补全、Lint校验、JSX语法识别全走VS Code原生能力,写嵌套JSX、批量改props、调hook参数的时候,Vim操作跟手不飘,补全弹出也没有延迟。加上现在React生态的相关辅助插件基本都优先更VS Code版本,Atom上的同类插件大多停更在三四年前,React 18的新语法、Server Components相关的提示根本跟不上。
- Git操作:刚切的头半个月我特别怀念Atom上git-plus配合vim-mode-plus直接选hunk提交的手感,后来摸熟了快捷键绑定之后反而觉得更稳:给常用操作绑上Vim前缀快捷键,比如
<leader>gs开源码管理面板、<leader>gc弹提交框,选diff块的时候直接用Vim行选操作点stage,再也没遇到过当年git-plus偶尔抽风识别不到仓库根目录、提交串分支的问题。唯一一开始缺的就是vim-mode-plus自带的gih(选当前Git hunk)文本对象,后来在Neovim侧装了对应Git插件补了映射,手感和原来一模一样。 - JSON处理:之前担心VS Code的Vim模拟会丢文本对象能力,实际用vscode-neovim的时候,因为是直接调用真实Neovim内核,不管是
ci"改键值、da{删整个配置块、Ctrl+a/Ctrl+x递增递减配置数值这些常用操作,全和你原生用Vim的逻辑一致,甚至比Atom上模拟出来的Vim操作更准——当年vim-mode-plus偶尔会在JSON折叠状态下选错行,Neovim原生从来没出过这个问题。 - 浏览器端开发:VS Code内置的浏览器调试功能直接连Chrome/Edge,打前端断点、看控制台报错、找DOM对应的组件位置,不用在编辑器和浏览器DevTools之间反复横跳找文件,这点比Atom当年要装一堆调试插件、手动写配置文件才能联调省心太多,联调效率高不少。
切换后确实会怀念的Atom特性
- 首推vim-mode-plus和编辑操作完全打通的多光标逻辑:当年在Atom里normal模式下按个快捷键就能智能选中当前单词的所有匹配项,自动跳过注释里的无效匹配,全程不用切模式;VS Code不管哪款Vim插件,默认多光标还是要靠编辑器自带的
Ctrl+D逻辑,我折腾了快俩月把Neovim侧的多光标插件配到接近原来的手感,还是差一点那种丝滑度。 - 其次是ex-mode的实时反馈:Atom上输
:s替换、:g全局操作的时候,输入命令的过程中就会实时高亮所有匹配项,输错范围、写错匹配规则能立刻看到,VS Code的Vim命令行现在还是要等按回车执行才出结果,偶尔范围写错了会误改一大片。 - 最后是Atom的窗格自动调整逻辑:当年拆分多窗格的时候,拖动分隔线其他窗格会自动适配大小,不会像VS Code拆多了之后侧边栏把内容区挤得特别窄,手动拉窗格的逻辑有点死板。
小迁移建议
别用那款纯模拟的老VSCodeVim插件,直接上vscode-neovim,后台装个稳定版Neovim就行,你之前用惯的Vim映射、自定义操作直接写在Neovim配置里,不用在VS Code的快捷键面板里一个个重新绑,90%的操作习惯一周就能捡回来,迁移成本很低。
内容的提问来源于stack exchange,提问作者gwhiz
相关产品推荐
相关产品推荐

