Sublime Text 2 is a text editor with great responsiveness, flexibility and accuracy for coding. After three months of using it, I discover many amazing features and ways to make it even better.
I read feature lists of editors like this and wonder why people just don't use a good IDE like IntelliJ. It does everything in this list and a lot more with minimal configuration.
1. The configuration time for stuff like this in ST2 is comparable with IntelliJ.
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.
It is hard to pin down the author's bias, or yours, without understanding what kind of development the author has done. I look at this as more of a Text Mate 2 vs Sublime Text 2 post.
Ignoring what other users have said (bloat, speed, noise, etc), I find that my code in an editor like ST2/TextMate/VIM ends up being substantially better and more maintainable than code written in a full-blow IDE. The full-blow IDE may mask code smell by making it easy to push on when things get ugly.
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.
I tried switching from vim to PyCharm about a year ago. I found it incredibly slow.
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.
Yes, but I think many wouldn’t want to have all the other features a full-blown IDE offers.
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.
I liked using IntelliJ IDEA for Java development. However the reasons I now use Komodo Edit and ST2 over PyCharm/IDEA for Python are: IntelliJ has slower startup times, does certain things slower, takes up a lot of memory, does not look as nice. I do not need most of the functionality it provides and prefer having something snappier.
>I read feature lists of editors like this and wonder why people just don't use a good IDE like IntelliJ. It does everything in this list and a lot more with minimal configuration.
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...
The most consistent pushback against ST2 is how ugly and non-native folk find it. Lots of us get past that and really give it a chance, but I can't help but hope that Jon reads this and considers spending a couple weeks/months purely on styling, possibly with the help of a specialist.
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.
Totally disagree on the config point. In fact I think the system should be made more simple, so you can keep your editor settings in a dotfile repo. It's not so simple to do this when the settings files themselves are buried in a packages folder, and you have to take care not to accidentally commit your license along with it all.
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.
Ugg, I disagree with most of most of your points. I like the sidebar simple, use finder/explorer if you want more. Text for find results and config is great.
Native ui is a huge amount of work to get right and maintain. Make the most of the beautiful text buffers I say!
I disagree with you on the colour scheme and absolutely adore how st2 looks.
However, I completely agree about the find results tab. It's incredibly annoying not being able to edit from within that. It might as well just give me a list of what files what I want to find is in because I end up having to open them up manually anyway.
Does anyone else feel like if we spent all the time masterbating about our text editor writing software instead in something that just works the world would have better software? The amount of text editor posts I see on HN lately is astonishing.
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.
I tried Sublime and it works well, but RubyMine still won me over for Ruby because it finally feels polished and it's fast thanks to new hardware with plenty of RAM & CPU.
For text editing, Sublime just couldn't match vim & emacs because they're widely available on remote servers via SSH.
It's quite funny that he complains about the icon (quite bad, I agree) that was made by the Iconfactory, and then links to a replacement, again, by the Iconfactory.
Makes me wonder, why SL2 icon is so bad. Maybe the author had some unreasonable requests to the obviously talented designers?
having started my programming career with web stuff, i just cant stand the full blown IDEs because of their slowness and bloatedness.
sublime text feels like having my cake and eating it too. it has most of the required features but its still amazingly fast and extendable.
ST2 is a great text editor (I like vim more) - and a text editor is what it should be compared to.
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.
I have been using ST2 for awhile and overall its pretty good. Although I still find myself opening Vim/Textmate a lot.
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.
I agree. When I start feeling stressed out about some code, I usually like to print it out and walk away from my computer to review it. Sitting outside with a copy of code that I cannot edit is very helpful sometimes.
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.
>By default, the scope of autocomplete is only for the current file. “All Autocomplete Package” extends the scope to all open files in the current window.
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.
I really liked Sublime Text, but each time I try to search for some word in 20MB log file it reminds me how slow and unresponsive it is compared to Emacs. The closest to my ideal editor would be Emacs with visual appearance of ST2.
Hm, that's pretty odd, I found its handling of large files to be pretty fast for a GUI editor, and "slow and unresponsive" accurately describes the opposite of why I like Sublime.
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.
[+] [-] cageface|13 years ago|reply
[+] [-] siodine|13 years ago|reply
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.
[+] [-] jared314|13 years ago|reply
[+] [-] pathdependent|13 years ago|reply
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.
[+] [-] dbecker|13 years ago|reply
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.
[+] [-] president|13 years ago|reply
[+] [-] steverandy|13 years ago|reply
[+] [-] eswat|13 years ago|reply
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.
[+] [-] killedbydeath|13 years ago|reply
[+] [-] pooriaazimi|13 years ago|reply
Also, it has a modern architecture with useful, up-to-date plugins, not plugins written in 2004.
[+] [-] batista|13 years ago|reply
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...
[+] [-] drivebyacct2|13 years ago|reply
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.
[+] [-] hemancuso|13 years ago|reply
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.
[+] [-] FuzzyDunlop|13 years ago|reply
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.
[+] [-] jay_kyburz|13 years ago|reply
Native ui is a huge amount of work to get right and maintain. Make the most of the beautiful text buffers I say!
[+] [-] Lockyy|13 years ago|reply
[+] [-] siodine|13 years ago|reply
[+] [-] steverandy|13 years ago|reply
[+] [-] unknown|13 years ago|reply
[deleted]
[+] [-] alttab|13 years ago|reply
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.
[+] [-] BadassFractal|13 years ago|reply
[+] [-] Peaker|13 years ago|reply
[+] [-] jph|13 years ago|reply
For text editing, Sublime just couldn't match vim & emacs because they're widely available on remote servers via SSH.
[+] [-] flixic|13 years ago|reply
Makes me wonder, why SL2 icon is so bad. Maybe the author had some unreasonable requests to the obviously talented designers?
[+] [-] csulok|13 years ago|reply
[+] [-] tcoffee|13 years ago|reply
[+] [-] lstrope|13 years ago|reply
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.
[+] [-] ditoa|13 years ago|reply
[+] [-] pwelch|13 years ago|reply
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.
[+] [-] pathdependent|13 years ago|reply
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.
[+] [-] mistercow|13 years ago|reply
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.
[+] [-] steverandy|13 years ago|reply
[+] [-] markokocic|13 years ago|reply
[+] [-] calinet6|13 years ago|reply
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.
[+] [-] BerislavLopac|13 years ago|reply
[+] [-] swombat|13 years ago|reply
[+] [-] siodine|13 years ago|reply
[+] [-] steverandy|13 years ago|reply