Sublime Text 2: Beta
sublimetext.com
sublimetext.com
Please, this is not flamebait. I'm interested if anyone's made a switch from an old standby like vim/emacs to a new editor and how they've fared. Maybe it's time for me to start looking at all the new editors out there.
Some people adapt very well to Vim's method of input and control. If you're one of those people, it's doubtful that switching to an editor like Sublime Text or TextMate will benefit you much.
I'm a TextMate user first, but I do so much Linux sysadmin work that I need decent Vim skills. I'd estimate my skills at about a 4 out of 10. I use some plugins and have some of my own custom key bindings, but I take the long way around to many operations, and I've seen people closer to the 10 side of the scale that run circles around me. I like Vim. I like it a lot, but I feel like I'm the limiting factor when I use it, and I can't seem to get over the hump on my way to 5+. It's probably because I don't use it enough.
TextMate (as is any good GUI editor) for people who do a lot of text editing, but not a lot of text editing. I'm not a full-time developer. I'm a manager who knows how to code and is responsible for sysadmin duties. GUI editors have the advantage of guiding you through menus, on which the keyboard shortcuts are shown, so you get continual reinforcement.
TextMate has "Bundles", which are similar to Vim plugins. My favorite feature of TextMate is cmd+control-t. This brings up the "Select Bundle Item" dialog. You type words in to the box and the dialog box filters all available bundle commands for the current "scope" (e.g., ruby.source, html, ruby.source.string). This offers a high degree of discoverability for Bundle items that have either key bindings or tab triggers. It's a kind of training wheels for Bundles. Great for learning, and great for digging up features you know exist, but can't remember how to trigger.
And then I found Vico (vicoapp.net), which is basically a modern OSX text editor with Vim keybindings. There is still a lot of stuff missing, like macros and ci(, but it is already enough to make me prefer it to Vim most of the time. And it has full support for Textmate bundles, too.
On Windows, E-texteditor and Visual Studio plugins like Vsvim or Viemu achieve this, too. On Linux, Gedit can do it. Oh, and Emacs can do that, too, though that is a somewhat odd choice for a vimmer ;-)
When you fingers crave Vi but your eyes crave OS X.
Documentation currently sucks for Sublime Text 2, but it's not too hard to poke around and try stuff out on your own.
I've almost completely remapped Sublime Text 2 to use the subset of Emacs keybindings that I actually learned and committed to muscle memory.
The only real problem is that Sublime Text isn't free. I haven't registered yet, but I do intend to once an official release draws out and the documentation is fleshed out.
Also keep in mind that Sublime Text 2 works on OSX, Linux and Windows.
(Still waiting for MS to gift me a free copy Visual Studio Ultimate :)
My understanding/impression at the time was that Sublime was at least in part using Python, although perhaps I'm mis-remembering. Once I observed that, the slowdown "made sense" to me. It may have also had to do with (regular expression) find/replace. So, altogether, my use may not have been "typical".
I also wish the tab text collapsing worked differently. Once you have over a certain number of tabs they become pretty much useless as you can't see any titles anymore. In contrast, TextMate keeps all the tab titles visible and just moves the extra tabs into a dropdown. It's not perfect, but it's more usable than what Sublime currently does.
I know there's plenty of market not underneath that hypothetical, but an editor has to answer that question to even register with me these days. I also assume I'm not alone.
Vim and Emacs both have (optional) GUIs, but I've never used Sublime... am I missing something?
So you can look through files very quickly, just by clicking through them, instead of opening 20 files only to close them all when you find the one you want.
And if you start editing the content of a file you were just perusing, a tab opens for that file automatically. tres cool.
... totally sold me on sublime.
The only thing that bothers me right now is the slightly different keyboard shortcuts between Linux and OS X, but I think you can "correct" those manually by editing a couple of config files. Other than that, I LOVE this editor! :)
(I've never used Textmate, being a Linux user, but being able to benefit from the ecosystem to get e.g. .pp file highlighting is great)
http://webcache.googleusercontent.com/search?q=cache:ORe08or...
(It's a bit harder to read because the screenshots weren't cached, but it should still be a good starting point.)
I have created an "Emacsify" package with some important keyboard shortcuts and additional commands. You can find it here: https://github.com/stiang/EmacsifySublimeText
ST makes navigating the code more quick and smooth - the minimap takes away the feeling of looking at code through tunnel vision, you can preview files much more quickly, and view more code at once with minimalist full-screen mode settings and multi-column layout. The regex search with active highlighting in both the minimap and the file is also nice, and multi-select is pretty helpful for refactoring repetitive code.
That said, ST is just a text editor, not an IDE - while some features, like autocomplete, are partially compensated for, it doesn't do type checking or follow references across files, so other features that stem from those will be missed; e.g. refactoring across multiple files is usually faster in Eclipse. I would usually do most of my editing in ST, and then type-check, compile, and debug in Eclipse.
Update: After going through other mono fonts... it seems like all of them are spaced just a little farther apart than what they appear like in Textmate, Espresso, etc.
Also, as nice as that preview-scrollbar is, it doesn't show the full file. Just ~ 3 screens worth. Almost totally useless for navigating a file as opposed to a function. As much as I hate Visual Studio, the MetalScroll plugin is just what I would have liked. You can get a "feel" for the layout of the entire file / class / etc in one glance, navigating with it is massively better. http://code.google.com/p/metalscroll/
What would make me happy is TextMate + Chrome-like tokens in the scroll bar for where matches exist when you search. And threaded project-searches. But alas, TM hasn't changed in quite a while. I guess it's time to learn Vim.
I need Sublime to provide type navigation. Forget debugging and other features.
The built-in project-wide search is extremely slow (it seems to search absolutely everything and consumes 100% CPU while doing it) and seems unfinished. I really miss AckMate (https://github.com/protocool/AckMate/wiki/Usage).
Also, some files with canonical names (Gemfile, Rakefile) don't have file extensions nor shebang lines, and so Sublime can't determine the language for syntax highlighting. Is there a way to fix this?
Within 2 days, Sublime had completely* replaced it--something that many editors have failed to do.
I can't wait until I get paid, so that I can throw money at them.
* I still use TM on occasion for its GUI theme/bundle etc. editors.
gem install slime
Source: http://twitter.com/sublimehq/status/86799940021518336
I'm more of a tab user myself though. So I'll type array_p and hit tab once for array_push. (for example)
There are somewhat similar extensions for Chrome to get the same effect, but requires a more elaborate setup to get around the sandboxing used by Chrome. http://superuser.com/questions/261689/its-all-text-for-chrom...
Once you have an editor window open, just drag stuff into the sidebar. Then save the project to make it persistent.
clicks Download
...oh. 10.6 required.
Shucks. At least I got to see pictures of it, I guess.