2. IntelliJ costs more.
3. IntelliJ is simply better for Java than ST2 (more significant time-saving professional features), but not necessarily so for other languages (it becomes less clear cut with languages like ruby).
4. ST2 replaces your standard text editor, IntelliJ doesn't.
For a trivial example, if you can't remember the name of some function you wrote in another module, it may be the case that the function was poorly named or the code you are currently writing is trying to do too many things. In an full-blown IDE, it doesn't feel wrong; in a simple text editor, it actually hurts. (Yes, ST2 has autocomplete, but IIRC, it's based on a tokenizer, not a parser. In either case, I operate with it disabled.)
IMHO, it's a trade-off. It requires marginally more mental effort to compose code without the features of a full-blown IDE. This marginal increase in effort may slow me down considerably in the beginning to middle parts of a project compared to someone using a full-blown IDE; however, by the time I "catch up," my code will probably be more conducive to safe expansion and maintenance, and for all but trivial projects, that's the majority of development time.
A bit like a sketcher could draw a few lines and see where that leads.
With vim or ST2, I do my work and don't think about the editor keeping up. With PyCharm, my typing could briefly outrun the editor. The editor would catchup, but it was just distracting.
I don't think the IDE gave me any features that justified this distraction.
Sure it takes a little longer to start up than a no-plugin Emacs or Sublime Text, but it also does a lot more and I don't have to fiddle with it to make it work.
While ST2 requires configuration to add the bare-necessities people would take for granted from an IDE, if you went with the latter you still have to do configuration to pair things down to the most minimal-environment you’re comfortable with.
Also, it has a modern architecture with useful, up-to-date plugins, not plugins written in 2004.
Because we don't want a slow, Java based IDE, that goes over the uncanny valley in all platforms.
I do use Eclipse, which is not much better than IntelliJ, for Java editing. But I wouldn't bother with it for JS/PHP/Python/Ruby etc...
Ugh, it's painful to read this: http://news.ycombinator.com/item?id=4247386 So much ignorant bias. Just try it. You don't know what you're talking about.
It doesn't improve the editor's functionality, but sales and adoption wise I think it would go a long way. Especially on the Mac.
Specifically:
* The file browser is really odd. Very non-native. No in-line name updates. Odd sliding around of items coming in and out. No drag and drop. It works, but it is death by a thousand paper cuts.
* Find results tab - also really odd. It's a real buffer, you can edit text in it - but it doesn't change the source material. Just the result tab. Very odd.
* Split windows are great, but the grouping in the sidebar is odd. What's group 1 vs group 2 vs group 3, etc.
* The color scheme is ugly. Very few text editors on Mac default to light text on a dark background. The dark chrome tabs are odd.
* While I love how flexible the configuration settings are, rooting around in a .js file is kind of a pain in the ass. Some basic scaffolding that throws up a configuration dialog [that looks native!] would be great. If for option discovery, if nothing else!
* If you have split panes active, there is no way to quickly tell which tab has the cursor. Each split has a set of inactive tabs and a single active tab. It's hard to figure out exactly which tab has the cursor if you're flipping back and forth from a terminal.
Hell, even just having the option to parse settings and load plugins from a local dotfile, like vim or emacs, would be nice. The rationale for wanting this is that the config is just text, and is something you'll progressively hone over time (esp. with keybindings).
Split windows would be much better if you could mix and match the size, or have a non-standard layout.
One of ST's real benefits could be its position as a beginner's introduction to vim and/or emacs. It's already immediately more accessible.
Native ui is a huge amount of work to get right and maintain. Make the most of the beautiful text buffers I say!
The less emphasis we put on tools the more we can rely on skill. We should all just use notepad for a year and see what all that extra time produces.
Coupled with Grep -r, I literally use nothing else. My productivity is not bound by how fast I can use vim, but how much effort it takes me to understand the real problem I'm trying to solve.
If everyone else worries about how they can jump around code more than actually decomposing the true motivation behind their work, they are either unbounded geniuses, or far more likely, writing a lot of code that could be completely avoided. All of these bells and whistles distracts from the problem, and focuses on code instead of problem solving. This worries me. Especially when at the end of the day all we are talking about is how fast we can introduce bugs into the code base or writing code that doesn't help the customer directly.
For text editing, Sublime just couldn't match vim & emacs because they're widely available on remote servers via SSH.
Makes me wonder, why SL2 icon is so bad. Maybe the author had some unreasonable requests to the obviously talented designers?
Feel free to submit your own as a pull request
Intellij/RubyMine are slow to start (initially) because they are indexing and giving you some of the most powerful refactoring support you could ask for. I sincerely doubt ST2 could will ever match this functionality.
They can be bloated but so can Emacs with all its plugins and so can ST2 by the time it starts to resemble an IDE in features.
It may be archaic but my biggest issue is not being able to print from it. Along with coding I usually use my editor of choice for random things and sometimes this means I have to print something. No print option in ST2 is a slight annoyance.
Right now, I often will minimize (metaphorically) my ST2 editor; open up a copy of my code in gEdit; print it out; close gEdit; and, maximize ST2. That's not cool.
Slightly buggy (alas, so many Sublime packages are), but even so, I'm really glad to see a plugin that tackles my only major disappointment in ST2.
Especially since it's always non-blocking, e.g. when you load a large file, a progress bar appears as it loads into memory but the rest of the editor continues to work without a hiccup. Quite nice.
Besides, it wasn't designed to search log files. That's what grep is for.
I realized I don't want to make the same mistake that I made when I switched to TextMate: Using a closed-source editor. One day, Sublime Text 2 will stop being developed. It's not clear if they'll ever change the license to something that allows community development. ST2 will probably end up like TextMate: consigned to the graveyard of abandoned closed-source text editors.
That's one advantage of Vim and Emacs: They're never going away.
Though the op's tips make me want to has another look.
Cheers
Marcus