Sublime Text 2 Build 2181
sublimetext.com
sublimetext.com
Both of these applications represent astounding value for money - Reaper is a Digital Audio Workstation, Sublime, a text editor. Both of these applications offer features found in much larger, far more expensive packages - but still, the author keeps them affordable (its an easy, easy buy when the price is right) and competitive. We get updates for free, and each update cycle I find myself almost squealing like a kid getting nintendo for Christmas, jumping in right away to find out whats new.
This is commercial software, done right. A great price, great features, and superlative relationship with the users. Well done Jon, and thank you for todays update excitement!
I've been compulsively using Emacs for the past 5 years. Thanks to Emacs I felt in love with (a dialect of) Lisp and experienced the freedom brought by a truly programmable text editor. An enlighting experience.
About a couple of weeks ago I began using Sublime Text 2 and... wow, it gets so many things right and out-of-the-box that I'm now fighting an inner battle to make a choice.
I am by no means an "hardcore" Emacs user but over the years I accumulated more than seven hundred lines of elisp code in my ~/.emacs.d/init.el. A large portion of that file glues together stuff like ido-mode, ido-ubiquitous, smex, AutoComplete, find-file-in-project, etc making my Emacs a lot Sublime-like.
I recently threw most of that stuff away and began working on sublime.el, which tries to emulate Sublime Text 2 as closely as possible.
However Emacs is showing a lot of warts: ido's fuzzy matching becomes painfully slow when dealing with lots of entries, I have yet to make find-file-in-project behave the way I want, provide most-recently-used heuristics to ido (for any use case not covered by smex), there's no consistent way to set a unique indentation level across major modes, long startup times (though the emacs-as-a-daemon/emacsclient pair mitigates the issue somewhat) and, in general, the UI is antiquated¹.
My only gripes with Sublime Text 2 are that there's nowhere near the amount of documentation Emacs has (for obvious reasons) and that it is a (mostly) proprietary piece of software. What if Jon is hit by a bus², looses interest in his project or finds it unprofitable and decides to stop all development? I would really, really hate to depend on a piece of software which is never going to get at least bug fixes. I honestly hope that Jon is considering open-sourcing it, should he go AWOL for any reason.
By switching to Sublime Text 2 I feel like I am betraying Emacs and all it represents in the name of convenience. Choice, how paradoxical thou art!
I am sorry if you find this disquisition boring but I had an urge to write it down somewhere. How liberating!
__________
¹ E.g. there's probably a way to get like find-file-in-project to show stuff as neatly as Sublime Text 2 does but as far as I know nobody has done it, yet.
And lets hope Jon doesn't get hit by a bus. :)
Still, Emacs is my bus factor backup plan. I prefer ST2 today, but it's nice knowing there's a pretty darn excellent fallback if it disappears for some reason.
But it is OrgMode that makes it impossible to ditch Emacs.
[ETA: There's a stab at an ST org-mode here that I tried previously, but really isn't very far along and development stopped almost a year ago: https://bitbucket.org/theblacklion/sublime_orgmode/ There's a fork at https://github.com/danielmagnussons/orgmode that seems to be somewhat more active.]
The developer seems to have disappeared, I understand it was sort-of open sourced, but it lost momentum iirc, great shame as it was promising, I jumped ship back to Vi and am not about to move again after that!
I forked a GitHub Gist from others and tweaked it a bit, for reference to useful shortcuts: https://gist.github.com/1736542
We're evaluating Sublime Text 2 right now, and for me that alone is a killer feature that is likely to earn them their new customer unless anything desperately show-stopping turns up between now and when they make the official release.
My only wish is that it the feature was just slightly more flexible, if only having a corresponding keystroke to deselect/skip an instance. It's so darned useful that it actively annoys me now if I use the same term in two different contexts and can't separate out just one of them, even though no other editor/IDE I use has this feature at all! :-)
I'm starting to figure out the Python integration now, though, so maybe I'll be able to set that up myself in due course, which really would convince me to spend real money on the software...
Additionally, I also use boatloads of plugins that I've come to rely on. Among the most important ones are Fugitive, syntastic, and gundo (seriously, branched undos have saved my life in the past, and visualizing them in a tree? Hell yes.) But there's also more basic ones, like surround, tagbar, and eclim (if I were a full-time Java dev, I'd need eclim.)
It's a chicken-and-egg problem, really. Vim is here, Vim is good, Vim is good enough. It's got its warts. VimL is the biggest.
And that birds-eye view in Sublime really does look sweet! I wonder how useful it is in day-to-day programming.
1. Use Sublime Text for a few weeks. 2. Get annoyed at a tiny issue. Ugly icon, window UI, font rendering, etc. 3. Consider switching to TextMate 4. New version of Sublime Text fixes one/all of my issues. 5. Use Sublime Text.
I'll never learn. Incredibly impressed with the dev cycle and how far it has come in a matter of months. At this point, Coda 2 might not even be enough to pull me away.
Sounds like the guy behind the project is quite responsive, and doing a good job for a good price, but I'm just way too attached to having open source tools for my work.
It's odd how you just expect certain kinds of software to be open source today.
Edit: Since I'm getting downvoted as-is, let me flesh out this posting with some more explanation for my stance: My text editor is an application I will invest a lot of time in learning and customizing, and it's important to me that this investment will end up being worth the effort long into the future. With a closed source text editor, I don't have the same level of confidence that the product will continue to exist and be maintained. Closed source also means that parts of the application are off-limits to customization, and I don't want to be beholden to another's determination of what part of the app is on that side of the fence.
That said, I work faster in ST2 than I did in Emacs and I can very quickly repay its purchase price in increased productivity. Should ST2's author get hit by a bus tomorrow and every copy of ST2 in the world instantly stop working, I could go back to Emacs and still have benefitted from having ST2 in the mean time.
Suppose someone offers you a golden goose that earns you $1 an hour but costs $100. If you get your $100 back out of it before the goose dies, you've broken even. If you get $101 out of it, you've turned a profit. If you get $500 out of it, you've made a good investment. I've already made my money back on ST2. If I lose the use of it, I've still come out ahead.
I wonder if it's really just because I'm saying something negative about a popular piece of software, and people exercise the downvote purely because they disagree rather than have quality objections?
So I understand that its proprietary nature is a cost and a risk, but it's important to keep that cost and risk in context.
For me, there are two mitigating factors.
(1): It's actually really, really good. It is hard to overstate this. As I am writing this I realize that I am shilling pretty hard for this product, so I should say I have no financial interest in helping the author succeed :). I am giving you this sales pitch as someone interested in the well-being of my fellow developers. If you spend your days staring and typing into a text editor, you owe it to yourself to give Sublime a serious shot. After two decades of Emacs, Vim, and Eclipse, the level of quality and polish in Sublime, even in the "beta", is almost shocking. It's not perfect, but there are aspects of it which will make you wonder why you ever put up with the obviously broken behaviors and terrible performance of (your favorite editor here). In particular, I should note that you can really get exactly the key-mappings you want on every platform, so you don't have to change your habits too significantly; it doesn't have any strange reserved keys that are hard-coded to behave differently on different platforms (I'm looking at you, Eclipse). After a few months of using Sublime, Emacs's weird, chunky, jerky scrolling, slow plugin-loading at startup, and constant pauses for GC seem like pointless self-punishment. Eclipse's patina of UI widget detritus looks distracting and confusing. And Vim's slavish adherence to the character grid and grating scriptability limitations (no way to perform timed or background tasks, random segfaults when changing buffers from certain contexts) will look dated and pathetic.
(2): Perhaps more importantly in terms of the amount of energy you might need to invest: although Sublime itself is proprietary, the API is actually reasonably narrow, and there is a ton of open-source Python that has grown up around it. So, if the Sublime Text core were to implode tomorrow, and you had a significant investment in a ton of plugins, you could bring the interesting bits over from your Sublime setup to Vim (via its Python bindings) or Emacs (via Pymacs) or Eclipse (via PyDev for Eclipse's Jython scripting bridge). Perhaps someone could even write a compatibility API that provided Sublime's Python API on those editors. In fact, I had made a conscious decision a couple of years ago to stop writing ELisp and VimScript and start doing as much of my personal editor customization in Python, and that really paid off when I moved over to Sublime; my custom habits and automation were mostly there already. Had I been going from Sublime rather than to it, wrapping the underlying API to do something sensible in Emacs or Vim would be a lot easier than trying to turn my ad-hoc eval()'d turds of elisp and vimscript into something same.
I was pretty surprised that I like Sublime so much. I am pretty finicky about my editor; I spend tons of time customizing it and adding on to it and scripting it and automating things. Since my initial burst of making Sublime behave like the parts of Emacs I care about, though, I've had to tweak it far less than any of my previous experiments, and I really got to know all the editors I've used in the past pretty deeply.
My suggestion would be to get it, use it, love it, and just send the author a friendly note saying that, as a paying customer (rather than a random Internet troll), you'd love it even more if the source were available under a friendly license.
I consider proprietary software to be developed in an "ethical" way when an entity makes an official statement regarding the destiny of the product itself should said entity disappear, go bankrupt or, in general, discontinue development.
For example: Trolltech (then acquired by Nokia), developers of the Qt framework, double-license their product under a free copyleft license (GPL/LGPL) and a "Commercial [proprietary] Developer License". In order to protect both the community and their customers they made an agreement with the "KDE Free Qt Foundation"¹ which says: "Should Nokia discontinue the development of the Qt Free Edition under these licenses, then the Foundation has the right to release Qt under a BSD-style license or under other open source licenses. The agreement stays valid in case of a buy-out, a merger or bankruptcy."
That's why I would like to hear from Jon what his plans are in case he decides (or he is forced) to discontinue development of SublimeText for any reason.
There are egregious examples of successful editors being developed, sold and then (mostly) discontinued. Enough broken promises to warrant strong assurances from Jon.
__________
¹ http://www.kde.org/community/whatiskde/kdefreeqtfoundation.p...
Fantastic editor however. I'm finding it's pretty much replaced vim for me with vintage mode - I've never been a particularly hard-core vim user however, so I'm sure there's plenty that more knowledgable users would find is missing from Vintage mode. Features like the Cmd-P fuzzy filename matching are just too useful (the vim plugin equivalent is really slow in comparison)! Quite a few colleagues have switched from various editors and IDEs (e.g. jEdit, Eclipse) after I introduced them to it also.
Any other editor I have, informs the OS, and a:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
(or the equivalent for your particular version of OS X) will rebuild all those correctly. Sublime Text never appears in the file associations after a rebuild.Background:
- http://macs.about.com/od/usingyourmac/qt/remove-duplicate-ap...
// Note: In Safari on Lion, that code line above is long and scrolls, invisibly here on HN.
SublimeText 2 is recognized in the app list, with a long list of extensions supported, with a single checkmark to add it as an "Open With" option to all of them and a button to allow making it the default.
(Note, it's not always what one wants as the default, consider .html for example, so more granular settings may be in order.)
That option means don't just open this .txt file, but all .txt files. That is the option that associates .txt with this editor, yes. But then you have to do it for .php files. And .rb files. And .py files. Etc., one by one.
http://blog.jerodsanto.net/2012/01/sublime-text-2-icon-repla...
My favorite replacement is still this beauty by Daniel Matarazo: https://github.com/dmatarazzo/Sublime-Text-2-Icon
http://www4.pcmag.com/media/images/249927-apple-macbook-pro-...
But then, I am biased. :P
I love it!
The plugin's unload_handler() isn't run when quitting the app, which isn't very nice. @atexit.register also didn't work.
The plugin also won't reload when the source is changed. At least when there is a symlink in the Packages directory pointing to the plugin folder.
But the editor seems nice and will be a good editor after some UX and API work.
I've been on the fence between vim, textmate, and sublime text 2...... liking st2 more and more, though not for any particular reason. It will be interesting to see what the community comes up with as it grows...... tons of room for awesome expansion as far as I can see. (needs more default syntax plugins)
I find it hard to work on projects where I have many files open, unless I am using Emacs (with ido-mode). Tabs are just too slow, cumbersome and don't scale.
Whether you have 100 Emacs buffers open or 100 ST2 tabs, it's pretty easy to navigate to the one you want with a few keystrokes.
Because of its advantages (being cross-platform is the clincher), I'm planning to use Sublime Text in place of TextMate in the 2nd edition of the Rails Tutorial screencasts. I also hope to make a Sublime-specific screencast at some point, with an emphasis on keyboard shortcuts useful for Rails development. Further updates as events warrant.
As usual another fantastic build.
I wonder what the plan for coming out of beta and formally launching is. It seems imminent because both the theme and icon got spruced up recently.
Funny story: I thought the blurriness I was noticing before was due to my new interocular lens implant that I got in December-nope.... turns out it was the font rendering all along and my vision was too bad before the surgery to notice it.
So, better rendering all around, really. :)
35 points by 1p1e1 69 days ago