Which Text Editor Should You Use As A Programmer?
27 Jul 2020



My Dearest Mad-Readers,
When I began my journey as a programmer, there was one question which always kept coming back. Which kept bothering me. I absolutely needed to pick a text editor. One that would be easy enough for me to be able to focus on coding, but also one which would be popular enough. It would have been a shame for me to invest time into an editor if it became obsolete a year later. So, here is our question : which text editor should you use ?
What Is A Text Editor
Not only does a text editor represent a serious investment in terms of time (some more than others), but it may also be seen as a religion depending on who you spend your time with. Let me offer you a word of advice : If you ever stop by a vim conference, keep a low profile if you aren't running vim or neovim on your machine. Otherwise, they will judge you.
The most common text editors are programmers' best friends, but most people tend to forget that powerful tools such as vim/neovim or Emacs are SO MUCH MORE than mere editors. I no longer program, yet I use neovim on a daily basis (just to give you an idea). Some people, such as Derek Taylor, run Emacs as their window managers. With Emacs, you could also play games, manage your emails, run a terminal emulator... and countless other things which you can also do with vim (although I will acknowledge that vim is less of an operating system than Emacs).
What Is a Modal Text Editor
Such text editors offer multiple modes which were all designed for a specific action from the user. Let's take the example of vim :
- Visual Mode : Designed to select text, essentially.
- Insert Mode : Press i and *poof*, you have just entered insert mode. Now you may write whatever you fancy. This is the easiest mode to wrap your head around.
- Normal Mode : This is vim's default mode when you enter it. In this mode, your keys will have a different behavior than you are used to. You may press dd to delete a line of text, w to move forward to the next word, and so on...
- Command Mode : Press ":" to enter command mode. Then you can do ":w" to save your document, or ":x" to save+exit, and countless other things. My examples only are the most basic possibilities.
- Replace Mode : As the name suggests, you activate this mode to replace characters. Astonishing, init ?
My History With Text Editors
I remember writing my first programs in python's interpreter and having so much fun. Then, my brother sort of forced me to switch to vim. If you have ever heard of the steep learning curve you have with that text editor, well... Let's say I had a hard time and decided to move to something much more casual. I used Pluma for a while, which is Mate's editor. Since my brother was disappointed in me when he figured out I wasn't using the pro-gamer tool he'd recommended, I "decided" to move back to vim. Once again, it did not really work out... So I installed Virtual Studio Code and had such a great time with its user-friendly interface and auto-completion and... and that's it, actually.
It took me months to go back to vim. Long months. Plus, I was determined to easy back into it the next time I was going to try. I wanted it work out. So it did. At first, I kept Virtual Studio Code on the side, just in case I would not be able to do something in vim, and then I got to the point that I did not need it anymore. That's when I uninstalled VS-Code.
You may believe it is the end of my story. You would be wrong. After using vim for many many months, I found out that there actually was something better. You guessed it, I am speaking about neovim. As some more experienced and knowledgeable people have written better and more detailed articles than me on the subject, I shall merely suggest you click on the links below and find out for yourselves how neovim is a huge improvement over vim.
- https://geoff.greer.fm/2015/01/15/why-neovim-is-better-than-vim/
- https://vi.stackexchange.com/questions/34/what-is-neovim-how-is-it-different-from-vim-and-why-should-i-care
I have been using neovim for a while, and I don't believe it is ever going to change. If you feel like it, do make the switch. You won't be disappointed. You also are free to do otherwise. I believe GNU/Linux & Open Source software are all about freedom.
Most Popular Text Editors
Down below is a list of trendy text editors. Notepad++ is more for Windows users, and I would recommend you choose a much better (and free) one.



What Do You Do ?
Are you a writer, a programmer, a student ? If you are not a programmer, there's no need to pick up Virtual Studio Code, or Sublime. You should rather install vim/neovim or Emacs, or stick to something like LibreOffice if you are a what-you-see-is-what-you-get advocate (though it is a word-processing program, not an editor). As a writer (and casual programmer; I enjoy shell scripting much more than JavaScript), I would recommend neovim. It allows me to manage my emails (with NeoMutt, although it kind of still is a work in progress), edit my books (with LaTeX), take notes (in Markdown), and so many other things that I cannot list them all here (don't you get me started on plugins).
One article would never be enough...
Conclusion
I apologize if this article sounded too much like neovim propaganda. I only am passionate and desire what I consider the best tools to be as widely spread as possible. I need to share what makes my life easier, because it could make yours better too. Who would I be if I kept that gold mine for myself ?
Anyway... As you could read, there is a wide variety of tools for everyone out there, and picking the right toolbox can be a real struggle. If you should only retain one thing from this article, here it is : follow the wind. As a programmer, you cannot waste your time changing your editor every year. You need something which has stood and will stand the test of time.
From personal experience, I would either recommend Virtual Studio Code or (Neo)vim. Both are extremely popular and aren't going anywhere. If you are unafraid of steep learning curves & need something to brag at your next conference, then vim it is. If you are looking for something to learn faster (& unafraid of clicking around), VS-Code is great too!
Closing Statement
I hope you liked this article. If you did, do let me know by liking, commenting and/or following me (via email or WordPress). Feel free to share your opinion in the comments. I will approve anything, as long as it isn't too spirited or spiritual...
Take care,
Phil.
P.S : Why not stay for more ?
