As a child, I have always loved to tinker with technology. I believe that every user should have the option to customize their workspace to its entirety. While I am coding, I prefer a large onset of plugins and configurations to cater the software to my projects. However, I do understand this tinkering is not for everyone, and others prefer a more straightforward approach. As a result, I have created this list of the best text editors for coding.
**As a side note, I would like to mention that I use Vim plugins for each of these text editors. I will make a post strictly on vim soon, but the keyboard shortcuts allow such a smooth workflow. **
Visual Studio Code is hands down the best text editor for beginners, and in some instances, even more, advanced programmers. Out of the box, everything just works. It has great autocompletion and support for such a vast amount of languages. For larger projects, it has such a great debugger that requires little-to-no configuration. For the majority of users, VS code offers enough customization both in its visual and functional aspects to satisfy your needs. There are user themes, git integration, and language support that can be downloaded easily from the GUI. If I had to use one word to describe VS Code it would be user-friendly.
The only aspect where Visual Studio code lacks is its speed. When compared to IDE’s like PyCharm and Eclipse, VS code is very lightweight. However, relative to the other text editors on this list, it is the slowest.
Sublime Text is the software I have used the least on this list. I originally used it when starting to learn HTML, but quickly switched over to VS Code. I think Sublime Text is for people who do not need a large program like VS Code but do not want to go through the configuration needed for Vim or EMACS. It has a decent extension library and a variety of color schemes. For a lightweight text editor, Sublime Text is the most user-friendly.
Vim is the physical embodiment of software you have full control over. It is entirely terminal-based, with an endless amount of plugins and themes at your disposal. The keybinds are extremely powerful, and there are extensions on each of these platforms regarding them. Before EMACS, I used Vim for a long time. I loved how much I could tinker with the program to make it my own. However, the text editor has an extremely steep learning curve. Not only will you need to learn the plugins and commands, but simple features like a file-tree or git integration take an extensive setup process.
This text editor is only for people who love tinkering with and customizing their environments. I do not recommend it to beginners, however, I think you can learn a lot just by setting it up. If you like the keybinds, but not the configuration, then I would recommend using Sublime or VS Code with the Vim extensions.
Doom EMACS is my text editor of choice. It is entirely open-sourced and provides an endless amount of customization. If you wanted to, you could literally play games on EMACS. The Doom fork of the program comes pre-installed with a wide range of extensions you can enable in the config. DOOM Emacs has the Vim keybinds, a built-in-terminal, GIT integration, and even a Markdown text editor. It is an entire integrated environment for coding, that I just fell in love with. However, like Vim, it does require a lot of configuration despite the pre-installed extensions. Similarly, I would not recommend it to beginners, but for advanced users, I would beg them to give it a try.
On my system, I have an EMACS daemon running in the background at all times. Then when I want to use the program I have a keybind set up in my window manager to open the emacsclient. It is incredibly fast, and I can add support for all the programming languages I am interested in.
In conclusion, each text editor is a viable option. VS Code is great for beginners looking for a lot of features right out of the box. Sublime Text is for people interested in a lightweight editor like Vim, but do not want to configure it. Although I love Vim, I see no reason to use it over EMACS, besides the fact that it is less resource-intensive. Finally, my daily text editor is Doom EMACS, with its personalization and amazing color schemes.