A short Friday’s holy war about IDEs, text editors and vim:). I don’t really like bikeshedding about text editors, but I was asked about my favorite one too much to not drop a note here.
I spent most of the time in editors with Python code, a bit less with JavaScript/TypeScript. Of course, a lot of json and yaml, sometimes bash scripts and Ansible playbooks are opened by me too. I strongly believe that for each task there is the best tool somewhere. All-in-one tools are line swiss knife: they are useful to by by the hand, but it’s not so comfortable to work with day by day.
I use these tools almost every day: Vim, PyCharm, and SublimeText2.
I spent a lot of time with SublimeText2 as my main editor instead of a normal IDE. It works pretty well if I install dozens of plugins for all my needs. Sometimes plugins work good, sometimes they work extremely slow with crashes every 10 minutes, so I need to spend some time to find a new plugin because of the old one abandoned by maintainer(s). I use it now mostly when I need to open and edit a few files quickly.
I tried to work with Atom and Code. It sucks. I do not like Electron-based desktop software at all. I try to not use it wherever it’s possible. They are too slow and require too many resources. PyCharm works with the same speed on my laptop. In the same time, PyCharm provides a lot of great features I really like and use. IDE isn’t just a text editor with a debugger inside. I didn’t find such a powerful code search, navigation, refactoring, and so on. Really, I spent enough time to configure Vim and Sublime but all of plugins don’t provide such comfort as PyCharm out of the box. The main drawback of the PyCharm for me it’s UI. I really like Sublime’s UI more. But it’s pretty good to use it every day without any issues.
Vim. I use it for two reasons: on remove hosts and if I need edit some file and I’m already working with the terminal. Almost any environment I work with contains Vim. Sometimes it’s only one existing editor and I can’t install anything else. That’s why I have to use it. Also, I use it sometimes for minor text edit inside the terminal window because it’s a faster way to do it. Also, I use Vim as my editor for git.
Emacs. I didn’t play with it enough. I think that Vim cover all my needs.