Warning, it doesn't always behave like vi. One thing I found was visual mode and pull up, pulls more than just the selected line (seems to be the entire block). Shift-V, j, Shift-J for those who want to confirm.
Oh, I'm aware it does. I was implying that as much as I like all the little, nice touches in Sublime Text 2 I still wouldn't use it without vi bindings. I started using it as my main editor after the last update which introduced vintage mode. :)
MacVim is great for that (if, of course, you are on a mac). It has all the great vi stuff along with the core OS style commands that everyone is familiar with. I believe gVim on Windows does the same but I'm not positive on that.
I was kind of in the same boat; the UI is there, but the way to open a folder (compared to vim) is semi non-obvious. Project > Add Folder to Project.
Once you do that, you get the sidebar view typical of textmate, and the extremely handy Ctrl-(or Command, depending on platform)-P. Slap that combo, start typing in a file, and it'll filter out the one you want from within the project. It makes navigating around for snap edits very quick :).
TextMate still has the best find-in-project functionality. Sublime Text 2 doesn't compare if you want to rename something throughout the app.
As for vim, it's nice when you're in a console, but I don't think it's as pleasant to use.
The delay with TextMate has been rather absurd, though. Version 1 goes largely unmaintained (still no full-screen functionality for Lion). The last update was in November of 2010. Before then it was November of 2009.
Similarly, Ack.vim is indispensable, providing errorlist integration with `ack`. Between that and your project plugin of choice, or just a terminal tab per project, you get something much nicer than anything in TextMate (because of errorlist workflow).
Yes, you have to exclude a whole lot. You also need to exclude binary files (like database dumps and tarballs) that you have lying around in your project directory, because once TM accesses those files it will read everything into memory, and it seems particularly bad at doing that.
Another problem with TM's built-in "find in project" is that it's not incremental. AckMate will list matches as it finds them, whereas TM will only return results once it's read everything.
Please vote for the "Search & replace across projects/directories" feature suggestion for Sublime Text 2 (http://sublimetext.userecho.com/topic/21604-search-replace-a...) if you miss the feature. The developer(s) seem to be implementing lots of new features from while ST2 is in beta and a global replace would be great.
Both PeepOpen and CommandT for vim offer superior file switching functionality (by fixing a problem with Textmate's version whereby it does not take the directory into consideration, which can really help narrow down a search).
My experience with ackmate has entirely not been seamless.
While it is vastly preferable to the default cmd+shift+s (cause it doesn't beachball TM for 30 min), you can only Ack in project when you have a file open, and the result list definitely does not play nice with many of the color schemes available for TM.
ack is a really great search tool in general (and one that I use constantly now that I have "discovered" it)... I had no idea there was an integration of it into TM. I'll def. be taking a look at this, thanks!
Still, Textmate (and ST2 and BBEdit) is nice in that you don't have to go google "Quit Textmate" or read a man page or ask someone on IRC to figure out how to quit the damn program. Other features, like Filter Through Command, are easily discoverable via the menu system. Likewise, configuration options are easily discoverable through the Preferences window.
I may be a programmer, but that doesn't mean I want to learn a new language just to use my text editor.
That doesn't seem to be true at all. I scroll in vim on my thinkpad all the time, the setup of which makes it very simple to scroll (I have that mapped to my entire touchpad) without moving the cursor (which is only done with the clit-mouse).
> I may be a programmer, but that doesn't mean I want to learn a new language just to use my text editor.
You don't need to program emacs to use it to edit source code and interoperate with revision control and so on. A lot of other emacs hackers have done all that for you, in many cases upwards of 20 years ago.
> Likewise, configuration options are easily discoverable through the Preferences window.
Believe it or not, modern emacs has this. It's accessible the menu at the top of the window (or, in Mac-land, screen), even.
> Other features, like Filter Through Command, are easily discoverable via the menu system.
Again, odd as it may seem, emacs has this as well these days.
> you don't have to go google "Quit Textmate"
And emacs can be quit through the menu. You know, the one at the top of the window or screen. Unless you started it in a terminal window or some other text-only context, in which case you damned well got what you asked for.
BBEdit's find functionality is _much_ better and doesn't require you to set up annoying project files. (Needless to say, BBedit is also well-supported.)
Textmate was an inspiring piece of software when it first came out, but it barely runs under Lion (I fired it up to verify that find-in-project was as I remember, and it crashed on the way out), and still has one-character-at-a-time undo/redo which is unbearable.
I still find the search and replace functionality in ST2 awkward, especially across multiple files. It's a solved problem in many other text editors, so I wonder why ST decided to implement it that way. I hope it's just a temporary beta thing.
Yeah, the only problem is that it has a nasty habit of devouring your RAM when used. On my job's Rails project, doing a single find-in-project results in 1.6GB RAM bloat. It never goes higher than that, but it's unacceptable. AND it's not performed in a separate thread! Though it's hard to beat its command-T behavior (and yes, Vim plugin - TM has had it for years).
As to unmaintained, there are bugfixes occasionally, but yes, no feature changes for quite a while. But that still makes it by far one of the most solid applications I've ever used - everything but my terminal application crashes more often than TextMate.
All that said, ack/grep all the way. Faster, with/without context, and doesn't leave bloat around.
What? TextMate has great file finding functionality, but the find in project is certainly a weak point… It grinds to a hault on HDDs with large projects. It's alright with an SSD, but I wouldn't say it any better than using vim's Ack plugin.
One way you could streamline your rename/relocate process in Sublime Text is to install DTerm. It's basically an in program keyboard shortcut that gives you a command line interface for the current directory that your program is accessing.
So.. if I'm working with index.html and need it to be index.php, all I need to do is: cmd+ctrl+return, then: mv index.html index.php
I think everything has been said that can be said about the ridiculously-long release cycle of textmate, but I still don't get what is so great about sublime. The only thing it seems to have over textmate is split panels and the code overview (which looks cool but has never been very practical, at least for me). Am I missing something?
Go to anything allows you to go to methods/functions, do a find in file and go to the line in a file. For example, if I know I want the getWidgets method in Widgets_Controller, I can type Widgets Con[stop typing when the right file is at the top]@getWidgets. To find, replace the @ with a #, and to go to a line, replace the @/# with a :.
I don't if TextMate does this or not, to be honest.
Mostly. I patched that package to support global search (show all tags across all files that roughly match this string) and I fixed a number of bugs where file paths didn't get normalized correctly. And I refactored the indexing logic (moved it to the crontab) so all libraries I use also get indexed properly.
Since I use it for Python/Django/CSS/JS work I also had to add some rules to ~/.ctags to correctly identify JS and CSS declarations.
Also got hooked on vim, and couldn't thank Textmate's inactivity more for I may have never been pushed in the right direction and discovered the wonderful efficiency of the vim paradigm.
If I were to use Textmate now, it would need to be just a faster vim, with a less clunky vimscript, and it'd need to embed in a terminal, as vim made it possible for me to do everything on the command line and truly use working directories as my sole division between contextual workspaces.
I'll believe it when I see it. Hopefully it doesn't turn out like Duke Nukem Forever did. Also, I really sincerely hope that they'll open source the 1.x version, although if they do ever release 2.0 it might make that more unlikely.