To add to the point above, it's worth understanding that IntelliJ is not an editor. It's a refactoring engine with a very nice structured editor, and the key to using it effectively is to use the higher-level features that it provides.
If you're not using the refactoring tooling then you won't understand why many people love it so much.
[It's worth looking under the hood at the plugin APIs. The editor doesn't work on text files. It works on ASTs.]
Agreed. The refactoring tools are something seemingly as simple as rename as variable or method or parameter name to the more exotic "extract constant" or "extract method" or the super helpful redefine method signature (add/remove params). One reason I prefer strongly typed languages like Go/Scala is that refactoring is less guess-work than in something like Javascript or Ruby.
If you're not using the refactoring tooling then you won't understand why many people love it so much.
[It's worth looking under the hood at the plugin APIs. The editor doesn't work on text files. It works on ASTs.]