Skip to content

Vim vs. Vscode, a false dichotomy




Published on Apr 24, 2023


2 min read

The eternal debateLink to this heading

If you are a developer, you have probably heard the eternal debate about text editors: Vim vs. Vscode. On the one hand, you have Vim, a lightweight and powerful text editor with a steep learning curve. On the other hand, you have Vscode, an editor that is easy to use and customize. Then the question that comes back and forward on Twitter, YouTube, or blogs is which is better? And there are plenty of answers in favor of one or the other.


Why does it have to be one or the other?Link to this heading

The reality is that Vim and Vscode are very different tools but with a similar purposes, each with strengths and weaknesses. I won't list them here. Instead, I'll share my own experience with both editors and how I use them in my workflow.

My experience with VimLink to this heading

I've been using Vim (actually Neovim) for a relatively short time, and it has helped me to:

  • Improve my typing speed, which doesn't make me a better developer, but my ideas flow faster.
  • It is a very lightweight editor, which allows me to use it alongside Docker without performance degradation.
  • When connecting remotely to a server, I used to use Nano, but now I can use Vim and feel more comfortable.
  • Batling with the configuration process has helped me to understand how a text editor and its plugins system work.

Here is my LunarVim configuration in case you're interested: LunarVim

My experience with VscodeLink to this heading

Vscode is very useful for me to:

  • Search and replace in multiple files.
  • Move files from one project to another.
  • Write Markdown in its two variants (MD and MDX).
  • Write Latex and preview mathematical equations (I also use it with Quarto).
  • Use the debugger for Node, .NET, and react-native.

My contribution to the discussionLink to this heading

Use the editor you like the most. It can be both, or it can be neither of these two. In short, the one that does the job. In the end, that's what matters. In my opinion, the most relevant thing about all the talk around code editors are that you have to know the tools you use and expend time learning a mastering them so you can configure them to your workflow and not the other way around.