Almost every developer that uses a Mac practically worships TextMate. Why? What extraordinary features does it have that other text editors and IDEs don't? I did a quick search and the only really useful feature that I found that most other editors lack is the column selection option, but I wouldn't use a certain editor just for that. What makes TextMate so amazing?
The main selling point is the ability to extend the UI using bundles, which are basically just shell scripts. It is also fairly lightweight.
A lot of editors have column selections (although in a lot of them its buried deep down). The actual fact TextMate is liked is it's bundle system, which makes some repetitive programming tasks much easier. It's not considered a replacement for languages that have IDE-s with "intellisense" support (Java, C#, etc.), but it's really useful if you want to create programs in a scripting language like ruby or python.
TextMate was the first app I bought when I switched to the Mac a few years ago.
The features I like most are:
- bundle support
- clean UI
- project support
- shell integration
- fast for small files (fast startup time)
- HTMLTidy built in
- CSS and XHTML validation integrated (needs online connection)
but it also has some drawbacks:
- slow for big files
- lack of updates (for some time now, but TextMate 2.0 seems to be alive)
I think the appeal of TextMate is that its not bloated ... its has just the right mix of text editing / IDE features, implemented in just the right way :)
TextMate is very powerful and at the same time usable, intuitive, elegant and lightweight.
On the other hand e.g. the two most popular Unix editors Emacs and Vi(m) are both very powerful but IMHO(!) their usability is not up to todays standards. (I use all three of them but think TextMate is by far the best.)
I've been trying to use TextMate as a replacement for Emacs. So far I'm not sold, though I like projects, simpler/cleaner UI, and the idea that it's extensible using python, etc. (I've never mastered elisp).
Things I don't like [in comparison to Emacs]:
- no ability to swap point/mark or return to previous marks.
- movement keys don't automatically take you out of inline search.
- tags not so great (ex: no symbols can be found in java files without classes).
- completion only searches current file.
- NOT OPEN SOURCE.
Okay, I still want to give it a fair shot, but mostly I'm just missing Emacs' superior functionality and feeling increasingly forgiving of its challenging UI and more willing to try to learn elisp for real. Even for projects, using emacs desktop-save in a project folder can accomplish nearly the same thing.
-taranaki
Textmate basically has all the power of <insert your favorite unix editor here> with a nice Mac OS X UI wrapped around it and a great plugin system using bundles, of which hundreds are available and most are either good or awesome.