TLDR: The way I determine whether a “text editing tool”/“thing I use to write software” is a text editor or an IDE is as follows: If it requires more than one second to open/fully start, it is an IDE; if it opens in less than one second, it is a text editor.

Examples

  1. GNU Nano , and out of the box/vanilla (neo )vim are absolutely text editors because they completely start/open in less than one second.
  2. Visual Studio is absolutely an IDE because it never opens in less than one second.

Corollaries

Some of these are spicy takes, but follow immediately from my definitions.

  1. Visual Studio Code is an IDE because it takes more than one second to open, atleast when I use it at work. I vaguely remember VSCode opening more quickly on a Macbook Pro I used for work a couple of years ago. I don’t have a Mac today, however. VSCode may have been a text editor on my Macbook Pro, or my current work setup with Windows and Windows Subsystem for Linux (WSL ) are making me forget that VSCode was still slow on mac.

  2. If your chimera of a (neo)vim configuration is so cluttered with random configs that you copied from some random blog/gist 6 years ago, deprecated language servers, keybindings you don’t use, “extensions”/“plugins” that work on neovim 0.7, but not 0.9, and whatever nonsense you vomited in vimscript that you cannot open a file in less than one second, then you have turned your text editor into an IDE. Atleast VSCode isn’t a shitty IDE like your pathetic excude of a (neo)vim configuration/setup.