Let’s start with the text editors that I used since the beginning of my programming journey.
The very first language that I learned is C, that was on my first year of college. I don’t remember the name of the editor. It is like a command prompt with neon blue background, gray menu and status bars, and bright green font. I don’t think it is usable for languages other than C though.
On the second year of college, we had Cobol, Java, and C# on our curriculum. On Cobol we used Notepad. On Java we used Notepad++ because plain Notepad is really lacking a lot of features like undo, syntax highlighting, etc. Then MS Visual Studio came, a very powerful editor/IDE, very powerful to the point that it drives my laptop then (3GB ram + core 2 duo) to its limit every effin time, though that time I always thought that Visual Studio is a gift from heaven because of its full-packed functionality. Drag and drop, intellisense, graphical interfaces, compiler, debugging, and many other good development tools. I continued using it from second year through fourth year. I think it is worth it to sacrifice my laptop to that resource hungry editor/IDE for an easier development.
Internship. I was accepted in a startup company. Startup, usually no proprietary software because of the expensive licenses so Microsoft technologies are no-no for them. The very first thing we did was to install an Ubuntu based linux distro-Lubuntu...Linux means goodbye to my favorite, Visual Studio sobs.
During my internship, I used Sublime 2 which is good also, and lighter than Visual Studio. It took a while for me before I really adapted to this new text editor because of the missing fancy functionalities. But this text editor shift is beneficial to me and my laptop that time because my laptop is already declining (serving me for almost 7 years) and not using intellisense made me improved in programming.
Being a professional. For a while, I continued using Sublime but Visual Studio Code came and now open-sourced, so I quickly shift from Sublime to VSCode and I never came back from using sublime again. Visual Studio showcased promising features again, like integrated terminal, git support, plugins.
I’m happily using VSCode until I developed a strain in my mouse hand. I searched for alternatives to minimize me holding the mouse then I discovered Vim. Pre-Vim I am not practicing correct typing which contributed to my straining hand, but learning Vim I had to practice home keys because the navigations, commands, etc rely only on the keyboard only. H, j, k, l for up, down, left, right, i for insert, v for visual. Those commands are really hard to press if you don’t know how to place your fingers correctly on the keyboard. What I liked in Vim is it is very lightweight, it runs on terminal and it is highly configurable. You can configure it to work like any other text editor because there’s lots of open-sourced plugins out there. Here’s my minimal vim configuration: vimrc.
Despite the steep learning curve of Vim, I’m not planning to venture out of this text editor yet. Maybe I need to stop by here for a long while. Cause this text editor and its plugins itself is a whole ‘nother journey.