发布于 2026-01-06 0 阅读
0

VSCode vs VIM 我的编辑器之旅:Sublime、Vim、Emacs、VSCode

VSCode vs VIM我的编辑器之旅:Sublime、Vim、Emacs、VSCode

我将谈谈我使用这些文本编辑器的体验,也许对那些正在评估文本编辑器并愿意花时间学习的人来说会很有帮助。

崇高文本

我高中时就开始学习编程,编写代码并在浏览器上看到结果真的很有趣。我当时用的是 Sublime Text,因为我通过博客文章和视频学习,而大多数资料都提到了 Sublime Text。而且它速度很快,我还安装了一些插件来处理 PHP、HTML、JavaScript 和 CSS。在工作中我也用了几年 Sublime Text,直到有一天我加入了一家使用 Vim 和 Emacs 的公司。

vim

使用 Vim 的用户们做的项目和我的项目更接近,所以我开始研究他们的工作方式,然后就开始学习 Vim。这并不容易,学习起来太难了,每次加载新的配置文件都必须重启 Vim,还有很多其他问题。但既然他们能学会,我就说服自己我也能学会,所以我就努力学习了。

我用了几个月的 Vim,最喜欢它的一点是它针对编辑现有文件而非创建新文件进行了优化。大多数时候,我们都在编辑文件并在代码行之间切换,所以这很合理。总之,我用 Vim 既开心又高效。

neovim

有一天我听说了 Neovim,不太确定自己为什么会转而使用它,但你可以看看这两个项目的 GitHub 项目:

只有一个贡献者的 vim 项目

vim 项目,共有 392 位贡献者

等等,什么?Vim 仓库里只有一个贡献者?怎么可能只有一个人做这么多?我查看了 pull request 列表,发现作者把其他人的修改都算作是他自己的。好吧,我不喜欢这样,所以我换成了 Neovim,它会给贡献者署名。

更新:我同意我的调查问卷太浅显了。我看到了这条评论。但我仍然不满意。

nvim + tmux

当时大家都在讨论tmuxtmux,它是一款终端复用器,可以把终端分割成多个标签页,还能自定义各种设置,从快捷键到 tmux 的外观,比如在状态栏添加一些实用信息。我试用了一下,感觉不错。因为我当时在终端里用的是 nvim,所以 tmux 用起来很顺畅,我还找到了一些插件,可以把它们完美地集成在一起。效果如下:

使用 tmux 和 vim,分别设置不同的标签页和分屏,并在下面的分屏中运行测试。

我不再使用 nvim 了,但你仍然可以找到我的vimtmux配置。

我使用这套设备三年了,一直很满意。

然后我发现,我需要在公司Debian系统的终端(Terminator)和家里的macOS系统(iTerm)上分别配置nvim、tmux和zsh的插件,才能让它们正常运行。但插件之间也并非完全兼容。例如,nvim的自动补全功能在正常情况下运行良好,但如果我使用多个光标(这是另一个插件的功能),自动补全就只能作用于第一个光标,因为它们之间没有集成。我遇到了其他类似的令人沮丧的问题,发现自己花费了太多时间调试或尝试其他插件,所以我开始考虑尝试一些不同的工具,这时我注意到了Emacs。

Emacs

Emacs 有图形界面应用,这让我不再需要 Terminator 或 iTerm 了。它还有一个用 elist 编写的 shell,叫做 eshell,这样我就只需要一个配置和插件就能搞定所有事情。我尝试像以前用 Vim 那样从头开始写配置,但要学的东西太多了,而且我得赶紧完成工作,所以我尝试了 Spacemacs,在一些帮助下,我很快就能高效地工作了。

Spacemacs 有 Vim 的快捷键,所以我在家就能用,只需要学习如何使用 Spacemacs 的各种功能,比如布局和工作区。它能实时显示可用快捷键,操作起来非常方便,输入时就能看到选项。而且它还有助记符,比如布局用 `<layout>`,切换功能用 ` SPC + l<toggle>`,缓冲区用 ` <buffer> `,项目用 `<project> SPC + t` ,文件用 `<file>` ,保存文件用 `<save>` 查看项目文件树。是不是很简单?SPC + bSPC + pSPC + fSPC + fsspacemacs -> file -> saveSPC + pt

我花了大概一个月的时间才完全理解并熟练掌握 Spacemacs。我对所有方面都不满意,也遇到了一些 bug,这没关系,我提交了 bug 报告并尝试修复,但为此我不得不学习另一种语言(elisp)。这是一次很棒的经历,因为我学到了很多 elisp 的知识,在我看来 elisp 是一门很棒的语言,所以我乐在其中,这也让我使用了 Spacemacs 整整六个月。

然后我看到了这个视频:

等等,什么?十年的 Emacs 情结竟然被一周的 VSCode 体验毁了?我有些朋友也很喜欢 VSCode,他们强烈推荐。好吧,那就试试吧。

vscode

我周末需要做一些编程工作,所以我改用了 vscode,总体体验很棒,但一开始我不得不经常使用鼠标。

我安装了 vim 快捷键绑定,令我惊讶的是,它还支持常见的 vim 插件,例如vim-easymotionvim-surround以及vim-commentary其他我从未听说过的插件。

我在 VS Code 中发现的几个非常棒的功能:

  • cmd + p使用模糊搜索打开文件速度更快、更智能(它会将最近使用的文件显示在最前面)。
  • 快捷键与浏览器快捷键更为相似,这让我的 Web 开发工作更加轻松。
  • 配置文件就是JSON普通文件,不需要进行太多自定义(我的配置文件只有 22 行,仅此而已)。
  • 集成的多终端功能非常好用,而且它还支持类似 tmux 的分割功能。
  • VS Code 由微软维护,我认为这很棒,因为有一个团队在维护它,并添加彼此之间集成良好的功能。
  • 我不需要调试 VS Code,而且目前为止我也没有发现任何 bug。
  • 我不需要安装太多插件。
  • 跳转至 React 的定义

我已安装的VS Code插件:

使用 VS Code 切换到文件、添加书签、跳转到书签,以及使用集成终端

这就是我使用文本编辑器的体验。现在我不用再费劲调试编辑器就能实现一些简单的功能,而且还能根据自己的需求进行自定义。是的,我对 VS Code 非常满意,或许你也应该试试。希望我的分享对大家有所帮助。

另外,我很想听听您对这些文本编辑器的看法和使用体验。谢谢。

文章来源:https://dev.to/lucasprag/my-editor-journey-sublime-vim-emacs-vscode-19k0