Recently, I went through my old Windows setup and I realized how many editors I tried over past years. I was always looking for something that will ultimately improve my programming experience. The obvious answer is that nothing really does. All the fancy futures provided by different editors often turn out to be unnecessary during regular development. Right now I stick to my favourite Spacemacs with Vim keybindings. (and sometimes Visual Studio Code).
If you are a beginner programmer and you are reading this, save yourself a time and just don’t. Actually, we all know that this discussion is kind of pointless. The choices are highly personal and often is depends on projects you are working on.
So why I choose Spacemacs over all other options? And what the hack it even is? Spacemacs along with Vim, Emacs, etc. is that kind of editor that can run in terminal and is controlled purely by keyboard shortcuts. Spacemacs builds on the top of Emacs making all Emacs plugins compatible. I am more of a Vim fan, but with Evil plugin Spacemacs provides all shortcuts that I need and brings other futures to the table.
Standing to its name, `space` key is a crucial part of Spacemacs workflow. It brings out a menu with all shortcuts sorted in different categories. This is simply the best feature because over the time you learn all possible shortcuts and you don’t even have to search for them over the internet. If you are completely lost, you can press `space` twice which brings out search bar where you can search for a command you need.
For me coming from Vim, the space menu was a game changer which made me learn new commands much quicker. Providing easy access to complex futures it made the programming experience much smoother.
You could say that these keyboard-based editors are thing of past, but that’s not completely true. I think there is still place and I am not speaking about editing files on your SSH server. I found them really convenient nowadays when I want to work during travelling to school or between classes. In these situations, I feel much more productive when I can control everything from the keyboard. Rather than moving the cursor all around to get what I want.
For more information: http://spacemacs.org
Visual Studio Code
For everyone else, there is Visual Studio Code. If you are a beginner or someone who wants to go straight into programming without fighting with your editor, you should take a look at Code. This lightweight editor with simple GUI can get you started without any long introduction. Even I like to use this editor from time to time, for example when I am consulting my code with someone who is not used to Vim keybindings. (I know there is a plugin with Vim keybindings, but it doesn’t feel right.)
With great community which provides a vast amount of extensions, Visual Studio Code can provide almost full IDE experience. The problem I experience is that setting up integrated debugging can be tricky. Depending on the language of your choice there are usually tutorials, but it could be easier. The editor also provides access to the terminal, so who needs integrated debugging anymore.
For more information: https://code.visualstudio.com
I tried a lot of editors and over the years and I started to tend to more lightweight editors. The ability to quickly pop up the editor and start coding is key for me. Choosing editor for programming heavily depends on personal preference. However, it is not choice for the lifetime, so don’t be afraid to experiment.