If you haven’t tried Sublime Text 2 before, I recommend taking it for a whirl. Most developers I've shown it to really like it. Here are some reasons it won me over:
Multiple selections. Select a variable and then press Ctrl+d/Cmd+d a few times. Now type a new variable name. Or, select a few lines and press Ctrl+Shift+l/Cmd+Shift+l. You can now make batch edits to all lines
Goto Anything (Ctrl+p or Cmd+p). Start typing a filename. Type an @ and then start typing a function or method name. Hit escape instead of enter to return to where you were.
It also has a very nice Python API that makes writing plugins fun. http://www.sublimetext.com/docs/2/api_reference.html
There are so many other little things done right that you find once you start digging in.
If you have indentation set to use spaces, you can hit tab and it will add 4 spaces, then hit backspace and it will delete all 4 spaces. Most text editors won't do that.
It matches parentheses and braces, but you can just ignore it. Type a '(' followed by a ')'. With every other graphical editor I've tried that has brace matching, you end up with '())'. With sublime, you end up with '()'.
Eclipse is slightly if I remember correctly, since it lets you skip all closed braces with a tab. That way, typing (([tab] gives you (())_ , where _ is the cursor. Very convenient.
[1] I don't remember the details, but I remember that I posted a few lines to the Sublime Text forum, that fixed part of the way bracket matching worked to make it more like Eclipse. This was later put into Sublime Text proper. This is what I love - Jon actually looks at the things people are doing, and puts the good stuff directly into ST.
1) Ability to rename files and tell that to git/any revision control while it does it.
2) Bundler integration to automatically add all bundles to the project so they can be searched on.
Has anyone managed to hack their config to enable that feature? I understand there are some callbacks available that might help, but I haven't figured out how to put them into action.
- No icons. Makes it hard to differentiate between files and directories at a glance. - No drag and drop, you cant quickly copy and move files. - Renaming files is clunky (on OS X at least). - Right clicking a file doesn't give you many useful options. - Doesn't match the host OS's file manager very well. It's some sort of weird middle ground; on Windows it should act like Explorer, on OS X it should use the same conventions as Finder.
Compare the file manager to the ones in Coda and Espresso and it's fairly poor. I know the ctrl/cmd + p shortcut is pretty amazing but sometimes you don't know exactly what you're looking for and have to fall back to browsing through a codebase to find what you're after.
This post sounds a bit hateful, but I really like the rest of ST2. It's just the file manager which gives me grief.
I still use Code Browser (http://code-browser.sf.net) which is oriented around folding. One feature from it that I really miss in other editors is the "Clone Window" function that creates a new tab of the same file, scroll and cursor position. IMO, this beats using bookmarks because you simply close the new tab to go back to where you were.
The alternative is using the package manager I wrote http://wbond.net/sublime_packages/package_control. This also gives you the benefit of automatic updates and a whole bunch of other packages at your fingertips.
Though from what I can tell, it just adds the folder to the current project, which feels a bit odd. And having to open up Windows Explorer instead of just doing a File > Open Directory is clunky.
I find that feature useful enough that I've never needed indent guides. If you jump the cursor to the beginning of a line, you can easily see which other lines are indented equally with that line.
Maybe add some Apple/Linux/Window icons or text on the top somewhere so they show on all your pages? Looking forward to trying it out!
The editor itself has a great fluid feel. Looks-wise, the default theme is nice, and "Soda Dark", which seems to be a community favourite, is gorgeous.
I had real trouble finally finding a reference of the configuration settings. The official documentation on version 2 on sublimetext.com is still in its very beginnings and it wasn't clear to me that sublimetext.info is actually valid documentation for version 2.
As a hint: Maybe add a comment to the global configuration file poiting to http://sublimetext.info/docs/en/reference/settings.html for a list of possible settings plus a note to add the settings to the user configuration file.
On a related note, the reason I want to turn off remember_open_files is because for me Sublime is not the editor I'm doing most of my project work in (I'm using IDEA with Rails and PHP plugins), so Sublime (or currently TextMate) is just something I use for quickly opening a few specific files on the command line or from finder.
Seeing all the old files open alongside the current one is just distracting, so I really need it to forget about previous incarnations.
1) Add all of the menu commands to the list of commands that show up when you press cmd-shift-p. It is very weird that some of the named commands (like convert to spaces) are available via cmd-shift-p, but others (like switch to 1 column view) are not.
2) I prefer the way textmate does multiple selection, where you can press a single key to toggle between regular selection mode and block selection mode.
Using cmd-shift-up/down in sublime text is very unpredictable. It works fine in the case you have several consecutive lines with no extra newlines in-between, but that is about it.
Though cmd-d to multi-select the next same word is pretty awesome.
3) Easier navigation between tabs in differnt split columns. I never remember the keys to switch between columns and I feel the existing normal tab management keys could do the job with a couple of tweaks.
For example, cmd-t is awesome, but I wish it was smart enough to automatically switch to an existing tab instead of opening a new tab with the same file in it.
Also, make cmd-shift-{ and cmd-shift-} move across all tabs and not just the tabs inside the currently selected column.
4) And lastly, the find in project results desperately need syntax coloring. It is so hard to scan a giant blob of plain white text.
Ackmate style file types would be nice too, but that isn't to big of a deal.
Again, awesome stuff. I can't wait to try out the vim bindings and I hope he keeps up the good work!
I switched from ST1 to vim after almost a year of using ST2 exclusively for work. I very, very highly recommend you try Sublime Text out - I've used many editors, and Sublime Text is still, for me, almost the perfect mix of must-have features and ease of use. Alas, vim's amazing power was a little too much of a draw.
And if you try out Sublime Text, don't forget to check out it's killer feature (which doesn't have): Multiple Selections. They're the single most powerful non-obvious editor feature I've ever seen, and I greatly hope they make their way to every editor when people start to understand that.
In the meantime, this new vim mode might just might bring me back to ST2 full-time. Here's hoping!
If you're like me and prefers TextMate's simple cycling autocompletion (usually bound to the escape key) to Sublime's weird snippets-and-best-match tab completion, I made a Sublime Text plugin that gives you just that: https://github.com/alexstaubo/sublime_text_alternative_autoc...