I’m a Vim user. Albeit, I’m not a very good or strong Vim user, I like it well enough for randomly editing files.
I’m also an IntelliJ Idea user, which makes me an IDE user. If at any point I want to work on a project of files for a substantial duration of time (basically, anything more than five minutes), this is what I’ll use unless I’m first learning a particular programming language.
It actually warmed my heart to read this: One Year Later: An Epic Review of PyCharm 2.7 from a Vim User’s Perspectivee
Basically everything said in that post exemplifies why one should be using an IDE. The tl;dr is
- Any IDE will (try to) can give you autocompletion at the code level and not at the text level.
- Code Navigation - easily get to symbols, even in other, files with a quick keyboard shortcut.
- Easier testing lifecycle - everything is managed within the same application , no context switching
- Easier debugging
- Code generation - not the bad kind… just shortcuts to quickly take care of your boilerplate
- Good vim emulation - any IDE worth using is going to have a vim emulator
.. and there are a handful of other things that are comparable to vim that are available.
The common reply is that “I can do all of these things just perfectly fine and acceptable to me with vim/emacs using $X, $Y, $Z, $A, $B, ctags, $D, $H, and $Q and some fancy management of dot files”.
And that’s great, I’m glad it works for you. But I equate using an IDE in this instance to why I don’t use Linux as a desktop OS. I really just don’t feel like dicking around with my environment ad nausea just to reach what I would consider a baseline of productivity.
I’ve also heard the more snobbish “if a language needs to have an IDE to be useful and productive, then that language stinks”. And my response to that is a paraphrase of something Tor Norbye said on a Java Posse cast: “if a language can’t be made better with the usage of an IDE, then that language stinks.
In closing, just use an IDE.