为什么我从 Visual Studio Code 切换到 Vim

2025-06-04

为什么我从 Visual Studio Code 切换到 Vim

大约六个月前,我开始使用 Vim 作为我的主要编辑器,我可以说这是一次有价值的经历,因为它促使我​​在编辑文本时以更有效的方式思考。

本文解释了我转换到 Vim 的理由,希望它能帮助您决定投资学习 Vim 是否对您来说也是合理的。

我的文本编辑器历史

自从三年前我第一次学习编码以来,我已经尝试过许多文本编辑器,并且大部分情况下我对每个编辑器都有很好的体验。

我想写一些关于这些经历的事情,这样你就可以了解我来自哪里,并理解我最终是如何使用 Vim 的。

Sublime Text

Macbook 上的 Sublime Text 编辑器

我使用的第一个编辑器是Sublime Text 3。我选择它是因为它当时在 Web 开发人员中非常流行,而且大多数教程都推荐它作为初学者友好的选择。

当时我才刚刚开始学习编程,所以只用到了它最基本的功能,不过我也学会了如何安装插件来增加功能。Emmet是我最喜欢的插件之一,因为它能帮我更快地编写 HTML,这真的太棒了。

我使用 Sublime 已经一年多了,甚至在 freeCodeCamp 上完成了所有项目的前端认证。说实话,除了时不时弹出提示购买完整版的窗口外,我使用 Sublime 并没有遇到什么问题。

诚然,免费版的功能不受限制,但你还是得处理那个弹出窗口,而且有时会很烦人。由于我没有80美元买文本编辑器,所以我开始寻找替代方案。

首次使用 Vim

大约在这段时间,我决定第一次尝试 Vim,因为当你查看程序员的文本编辑器时它总是被提及的一部分,并且受到许多人的青睐。

Vim 的入门难度确实更大,尽管我能够学习基础知识,但我只是不明白为什么一切都必须如此复杂。

我根本没有效率,所以在摆弄了一段时间后我放弃了 Vim,并决定看看Atom,它在界面和工作流程方面更接近 Sublime。

原子

Macbook 上的 Atom 文本编辑器

从 Sublime 切换到 Atom 并不困难,因为 Atom 很大程度上受到 Sublime 的启发,所以它们有很多共同之处,这让我很容易开始使用它。

我使用的所有插件或类似插件都可以在 Atom 上使用,所以一开始就很顺利。因此,我的工作进展顺利,没有太多的麻烦。

然而,由于基于 Electron 构建,Atom 对我的内存和 CPU 造成了巨大的影响。由于我当时只有 4GB 内存,这对我来说影响很大,因此我不得不升级内存和 CPU,为此我额外加装了 4GB 的内存。

Atom 的性能从一开始就不如 Sublime。我对此并不感到意外,因为我试过的其他 Electron 应用基本上都存在类似的问题。它在我电脑上的启动速度很慢,但一旦加载完成,就没那么糟糕了。

随着时间的推移,尽管定期收到更新,但我对这方面缺乏改进感到沮丧。所以我再次寻求改变。

Visual Studio 代码

当时,Visual Studio Code在编程论坛上引起了广泛讨论,并在各种博客上获得了不少好评。由于它也是基于 Electron 构建的,所以我对它的性能并没有抱太大的期望,但还是尝试了一下。

一开始我印象不太好;它似乎没有提供任何 Atom 所没有的功能,性能也没有显著提升。所以我卸载了它,继续用 Atom。

然而,每个月发布新版本时,都会有一些炒作,我就会再次下载并试用。它似乎总是在不断改进,而 Atom 则一直停滞不前,尤其是在性能方面。

最终,VS Code 在功能和性能上明显更胜一筹,于是我彻底转而使用 VS Code。这时,我从电脑里删掉了 Atom,VS Code 占据了主导地位。

从 Atom 切换到 VS Code 并不像从 Sublime 切换到 Atom 那样顺畅。部分原因是界面略有不同,我花了一些时间来适应。

在 Visual Studio Code 中打开的 package.json 文件

默认的按键绑定也与我之前在 Atom 上习惯的有很大不同。这个问题很容易解决,只需安装一个扩展程序,将按键绑定重新映射到 Atom 上,这样我的过渡就轻松一些了。

对于大量使用 JavaScript 和 TypeScript 的开发者来说,VS Code 或许是最好的文本编辑器,因为它对这两种语言提供了全面的开箱即用支持。当然,VS Code 对其他语言的支持也很好。例如,使用Rust就非常容易,我去年借助一些插件尝试过 Rust。

在使用 VS Code 的几个月里,我没什么可抱怨的。虽然性能不如 Sublime,但比 Atom 好很多,而且还在不断改进。

尽管如此,我仍然对学习和使用 Vim 保持着浓厚的兴趣。每当我在 Reddit 或 Hacker News 等论坛上看到关于文本编辑器的文章时,总有人会赞美 Vim,并提到它如何能够提高个人生产力。

当我的一个朋友切换到 Vim 后,不久之后也开始唱同样的歌时,我深受感动。我必须要了解 Vim 到底有多好。

第二次尝试 Vim

由于当时我没有太多事情要做,刚刚发布了Stellar Photos,我决定完全转向 Vim,这意味着在这个过渡过程中我没有在计算机上保留任何其他文本编辑器,以强迫自己只使用 Vim。

确实没有我第一次尝试时那么难。我以前总是vimtutor提醒自己一些基本命令,然后就从那里开始。

Vim 是基本框架,并不具备我在其他文本编辑器中认为理所当然的所有功能,但在大多数情况下,我可以使用插件添加我需要的功能。

也就是说,这在某种程度上成为了问题,因为它导致我安装了超出我实际需要的东西,并且我的.vimrc文件中填充了很多我不理解的东西。

于是我退一步,不再试图让 Vim 像我用过的其他文本编辑器一样工作,而是学习它那些独特而特别的功能。我很快意识到,Vim 其实可以独立完成很多功能,无需插件。

在必要时,我仍然可以添加插件,但是,由于不能使用它们来解决我的所有问题,我被迫学习 Vim 的做事方式,在大多数情况下,这种方式比我习惯的方式要好。

仅使用键盘操作真的让我大开眼界,无需鼠标也能如此快速。只需几下敲击即可完成所有操作,而且由于 Vim 的模态特性,每个组合键在不同模式下都有不同的含义。乍一看可能很复杂,但一旦习惯了,就会发现它非常直观。

我已经养成了在其他领域也喜欢使用键盘的心态,例如使用jumpapp在应用程序之间切换,使用Saka Key在浏览器中快速导航。

我喜欢 Vim 的一点是,每个修改都可以用点命令或宏重复多次,这确实为我编辑代码节省了大量时间。虽然可能只是偶尔节省几秒,但积少成多。

我发现 Vim 与其他编辑器相比明显较差的一个方面是颜色和字体质量,但我怀疑这更多地与我的终端模拟器有关(我使用 Terminator)。

我知道可以让 Vim 在终端中看起来非常好,因为我已经在r/Unixporn上看到了其他设置的屏幕截图,但到目前为止我还无法创建出我完全满意的东西,所以我目前正在探索 Gvim(Vim GUI)所提供的功能。

包起来

我已经用 Vim 作为主要编辑器六个月了,可以说这绝对是一次有价值的经历,而且我不会很快切换到其他编辑器。

目前,我正在努力提升 Vim 编辑器的使用能力,并学习一些高级流程,以提高效率。为此,我正在阅读Drew Neil 的《Vim 实用指南》,这似乎是 Vim 领域最好的书籍之一。

如果你当前的编辑器已经具备了高效的配置,我认为没有必要像我一样突然切换到 Vim。根据你的工作情况,这甚至可能不太现实。

话虽如此,我认为学习 Vim 的文本编辑方式仍然很有用,而且你不需要使用 Vim 本身。大多数编辑器都自带模拟 Vim 按键绑定的插件,因此你可以轻松地体验 Vim 的编辑方式,而无需放弃现有的工作流程。

以下是适用于SublimeAtomVS Code 的版本

我会继续在这个博客上分享我的学习成果,所以如果你对 Vim 感兴趣,别犹豫,去尝试一下吧。你可能会喜欢它。

文章来源:https://dev.to/ayoisaiah/why-i-switched-to-vim-from-visual-studio-code-5gbl
PREV
内存泄漏以及如何使用 Chrome Dev Tools 查找它们
NEXT
如何 Docker 化 React 应用程序 获取当前 Git 提交哈希 使用提交哈希作为标签构建 Docker 镜像