The Complex Path of Finding a Suitable Editor

I enjoy coding and do it often. Finding a good editor can significantly boost my coding efficiency. Over time, I’ve tried a wide variety of editors — some large, some lightweight; some popular, others obscure; some user-friendly, while others offered a rather poor user experience. Here’s a rundown of the editors I’ve used and my thoughts on each:

  1. DEV C++
    This was the first editor I used when I started coding. It only supports C++ and has very basic features like compiling, debugging, and running code. However, it lacks autocomplete functionality, which became a major drawback as I progressed. That’s the main reason I stopped using it.

  2. Visual Studio
    This is Microsoft’s flagship editor. It’s powerful, but huge. Even though I only installed the C++ development environment, it still took up about 15 GB. While it’s a great tool for some developers, it was too heavy for my needs. Additionally, it mainly supports C++, so I couldn’t use it for Python or HTML, which limited its usefulness for me.

  3. JetBrains Suite (PyCharm, CLion, etc.)
    JetBrains offers a range of language-specific editors. I used them for quite a while and really appreciated their features — they’re well-designed and enjoyable to use. However, they’re quite expensive, and they don’t have as many plugins as VSCode. Eventually, I made the switch to VSCode.

  4. VSCode
    This editor is extremely popular worldwide — and for good reason. It’s free, powerful, and thanks to its vast plugin community, incredibly flexible. The base install is only about 300 MB, and you can easily add whatever functionality you need through extensions. I still use VSCode regularly today.

  5. Neovim
    When people hear “vim,” some say it’s the best editor, while others find it hard to learn and not very user-friendly. I’ve spent quite some time learning Vim and use it often. More recently, I’ve been using Neovim, the modernized version of Vim. It’s the lightest editor I’ve ever used and, thanks to its plugin ecosystem on GitHub, even more flexible than VSCode.

    That said, Neovim can be tough to configure — you often have to write a lot of config files. To make things easier, I use a project called LazyVim, which simplifies the configuration process significantly. You can view my configuration here.

    However, there’s one major drawback: many plugins don’t play well with ARM-based chips. Because of that, I can’t use my custom Neovim setup for remote development on my Raspberry Pi. In those cases, I still rely on VSCode.

This is the complex process of me finding the editor that suits me best.