TextMate
OSXCPA writes "TextMate is a closed-source, GUI-based, extensible text editor that looks and behaves like a mashup of GNU Emacs ("Emacs") and NetBeans. This book is a primer and reference for TextMate. The blurb on the back of the book identifies the target audience as 'Programmers, web designers and anyone else who regularly needs to work with text files on Mac OSX.' After working with TextMate and reading through the book, the target audience is spot on. For example, the book briefly covers basic text editing, but provides in-depth information about basic operations (keyboard shortcuts, customizations, etc.) more advanced users will want to know and beginning users should know." Read below for the rest of OSXCPA's review.
TextMate: Power Editing for the Mac
author
James Edward Gray II
pages
193
publisher
Pragmatic Programmers
rating
8
reviewer
OSXCPA
ISBN
097873923X
summary
Excellent for the more complex scripting features of TextMate
I am reviewing TextMate: Power Editing for the Mac ("TPEFTM") by James Edward Gray II, published by The Pragmatic Programmers LLC, which I received from O'Reilly Media because I am the organizer of the Forest Park Ruby Meetup group. I received no compensation other than a copy of the book. I am relatively new to Ruby and Rails, but studied C and Java at University using Emacs and NetBeans. I am not a professional developer by any means, so if I can make sense of a tool and follow a book or manual, newbies should have no trouble.
The book and online manual are targeted at completely different audiences. The online manual clocks in at 97 very terse pages (print-previewed as-is in Internet Explorer) while the book is 193 pages. Despite the 100+ page difference, the online manual is intended for the hardcore geek and covers much more detail with less hand-holding. The book is written in a conversational tone that occasionally borders on distracting (e.g., "The Ruby executor is quite clever...") but no more so than other Pragmatic Programmer books.
Beginners and road warriors will find the book very handy, literally. I am a 'dead tree' book fan, especially regarding 'how-to' style documents. I like my books splayed open on my desktop so I can go from book to book as I work. At 193 pages, 'TPEFTM' does not like to sit open and flat, but it does fit easily into a laptop bag. The book does not come with a CD, but all the code is available on-line. I prefer this delivery system since besides the fact that I hate ripping CD envelopes out of books, TextMate is only available as a download anyway. Links to various third-party automations, commands and code are included throughout the book, and most of these 'ad-ons' are some flavor of open-source.
The book is organized in order of increasing complexity, so it is a good introduction for someone new to IDE-based development in the 'big tool that does many things' school. TextMate consciously mirrors some of the complex functionality of Emacs, albeit in a more accessible form, and the book eases the reader into this world in small, logical steps.
This is not to say the hardcore geeks won't find the book useful. There are many tips and tricks throughout the book that help a reader work faster and more efficiently (lots of keyboard shortcuts and scripting).
I tend to put sticky notes in my books, especially manuals. Find a code recipe you like? Sticky-note the page. The book contains many shortcuts ("Command Line TextMate", "filename matching") that inspired sticky-notes for later tinkering. The ordering of the tools is such that the reader can sit at the keyboard and work the examples straight through, read it start to finish 'offline', or use it as a reference book. I would encourage at least one straight-through read to ensure seeing every passage once. Browsing the index, chapter or page headings will not yield everything on offer.
TextMate is primarily viewed as a Ruby on Rails development tool. The book expressly acknowledges this (the code examples are mostly written in Ruby), but provides detailed instructions for handling syntax highlighting in Java, C and other languages via Automations. I did not try this out, but the instructions seemed fairly straightforward — someone with the passion to write Haskell in TextMate could probably set it up.
When deciding whether to buy this book or not, the key consideration is 'what does the book give me that the online documentation does not?' Textmate has several features that require elaboration, especially for newer users. TextMate supports various 'shortcut' and 'script-like' technologies — code snippets, macros, automations and two different types of commands — plain *NIX shell commands and TextMate 'automation commands'. Chapters five through 12 cover these tools individually and when combined. Purists may say 'well just use Emacs and write LISP' but the TextMate framework is more accessible to someone with less developed skills (and with less time to develop LISP-Fu). It provides a stepping stone for ambitious users, but allows for 'just getting it done'. I found these chapters to be the most compelling in the book both because they cover the most valuable features of the TextMate environment and they introduce skills a newer user should have (*NIX scripting, pipes, etc.) and more experienced users already have, but will want to implement in the TextMate context. While the online manual covers the technologies in detail, the book provides a more structured, user friendly introduction with enough detail to get work done and lay the groundwork for future development.
For $29.95, I do not expect exhaustive coverage of every feature. While 800+ page tomes have a place, it is nice to have a manual that fits in my bag. The coverage is very good for the basics and excellent for the more complex scripting features. I would definitely recommend this book for newer users, anyone who wants a readable, portable guide and those who plan on using the advanced scripting features, especially in conjunction with preexisting NIX system skills.
You can purchase TextMate: Power Editing for the Mac from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
I am reviewing TextMate: Power Editing for the Mac ("TPEFTM") by James Edward Gray II, published by The Pragmatic Programmers LLC, which I received from O'Reilly Media because I am the organizer of the Forest Park Ruby Meetup group. I received no compensation other than a copy of the book. I am relatively new to Ruby and Rails, but studied C and Java at University using Emacs and NetBeans. I am not a professional developer by any means, so if I can make sense of a tool and follow a book or manual, newbies should have no trouble.
The book and online manual are targeted at completely different audiences. The online manual clocks in at 97 very terse pages (print-previewed as-is in Internet Explorer) while the book is 193 pages. Despite the 100+ page difference, the online manual is intended for the hardcore geek and covers much more detail with less hand-holding. The book is written in a conversational tone that occasionally borders on distracting (e.g., "The Ruby executor is quite clever...") but no more so than other Pragmatic Programmer books.
Beginners and road warriors will find the book very handy, literally. I am a 'dead tree' book fan, especially regarding 'how-to' style documents. I like my books splayed open on my desktop so I can go from book to book as I work. At 193 pages, 'TPEFTM' does not like to sit open and flat, but it does fit easily into a laptop bag. The book does not come with a CD, but all the code is available on-line. I prefer this delivery system since besides the fact that I hate ripping CD envelopes out of books, TextMate is only available as a download anyway. Links to various third-party automations, commands and code are included throughout the book, and most of these 'ad-ons' are some flavor of open-source.
The book is organized in order of increasing complexity, so it is a good introduction for someone new to IDE-based development in the 'big tool that does many things' school. TextMate consciously mirrors some of the complex functionality of Emacs, albeit in a more accessible form, and the book eases the reader into this world in small, logical steps.
This is not to say the hardcore geeks won't find the book useful. There are many tips and tricks throughout the book that help a reader work faster and more efficiently (lots of keyboard shortcuts and scripting).
I tend to put sticky notes in my books, especially manuals. Find a code recipe you like? Sticky-note the page. The book contains many shortcuts ("Command Line TextMate", "filename matching") that inspired sticky-notes for later tinkering. The ordering of the tools is such that the reader can sit at the keyboard and work the examples straight through, read it start to finish 'offline', or use it as a reference book. I would encourage at least one straight-through read to ensure seeing every passage once. Browsing the index, chapter or page headings will not yield everything on offer.
TextMate is primarily viewed as a Ruby on Rails development tool. The book expressly acknowledges this (the code examples are mostly written in Ruby), but provides detailed instructions for handling syntax highlighting in Java, C and other languages via Automations. I did not try this out, but the instructions seemed fairly straightforward — someone with the passion to write Haskell in TextMate could probably set it up.
When deciding whether to buy this book or not, the key consideration is 'what does the book give me that the online documentation does not?' Textmate has several features that require elaboration, especially for newer users. TextMate supports various 'shortcut' and 'script-like' technologies — code snippets, macros, automations and two different types of commands — plain *NIX shell commands and TextMate 'automation commands'. Chapters five through 12 cover these tools individually and when combined. Purists may say 'well just use Emacs and write LISP' but the TextMate framework is more accessible to someone with less developed skills (and with less time to develop LISP-Fu). It provides a stepping stone for ambitious users, but allows for 'just getting it done'. I found these chapters to be the most compelling in the book both because they cover the most valuable features of the TextMate environment and they introduce skills a newer user should have (*NIX scripting, pipes, etc.) and more experienced users already have, but will want to implement in the TextMate context. While the online manual covers the technologies in detail, the book provides a more structured, user friendly introduction with enough detail to get work done and lay the groundwork for future development.
For $29.95, I do not expect exhaustive coverage of every feature. While 800+ page tomes have a place, it is nice to have a manual that fits in my bag. The coverage is very good for the basics and excellent for the more complex scripting features. I would definitely recommend this book for newer users, anyone who wants a readable, portable guide and those who plan on using the advanced scripting features, especially in conjunction with preexisting NIX system skills.
You can purchase TextMate: Power Editing for the Mac from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
To quote the review: "TextMate is primarily viewed as a Ruby on Rails development tool. The book expressly acknowledges this (the code examples are mostly written in Ruby), but provides detailed instructions for handling syntax highlighting in Java, C and other languages via Automations"
It is a text editor with some ability to integrate with a development environment (but not quite an IDE) that is most commonly associated with Ruby on Rails development, but can be used to work in other environments. Which part of that isn't clear?
-matthew
"THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
I've been running it side by side with BBEDIT this last week. Made a serious commitment to write real code in it.
If I did not already have BBEDIT i'd have been very impressed. It also spurred me to look for features I liked to see if they were actually in BBEDIT and surprise they were there all along, I just had not noticed them. On the whole BBEDIT is more powerful and with more thoughtful distribution of things across the menus for easy access. But each has some specific features that might make or break the difference to specific users.
The big selling point of TextMate, is it's powerful active templating and macros. BBEDIT has text factories and lets you write filters so in principle simmilar behaviour might be possible. But TextMate has huge libraries of these already.
For example, when writing python, pull down the python template for a class and it gives you boilerplate class text, but then as you fill in the dummy fields it, for example, the args, it also automatically typing self.arg = arg in the function. Is that helpful? well probably yes in most cases.
likewise tabbing, will move between he dummy fields. And you can ask it to autocomplete a variable name for you and it will do the autocompletion from a dictionary it builds from scanning the document itself and finding variable names. In python which allows silent typos, that could be helpful.
Both BBEdit and Textmate have roll-up functions and oddly enough both implementations are buggy and don't properly recognize the ends of functions.
Both have emacs key bindings avaialble.
as textmate grows and add more and more language templates, it's ironically making those hard to access since the menus are getting too long.
both have grep search. Beedit has multi-file search too.
BBEDIT does a better job of exposing some basic text ops like, zapping invisible chars or converting line endings. It also shows tabs stops better.
A couple of things I have not yet figured out how to do in Textmate yet that I really am jonesing for are
Line numbering, and the ability to mark a set of lines and change them to comment lines in a language aware fashion.
A big marketing advantage for BBEDIT is that there's a free version. This way I can use the full price bbedit on my main computer but still have a nearly idendtical envirnoment on all the computers I use less often without paying for it. (for example, I can't legally use my work lic on my home computer, but I can use the free one).
So far I'm much preferring BBEDIT, though I wish it had the autocompletion and the active templating. My productivity is still higher in BBEDIT. But part of that is familiarity.
Both have command line invocation.
both are very good text editors and I could live with either. I suspect BBEDIT will be the winner of my test. THe free lite-version I use at at home forces me to continue using it even if I select TextMate for work.
For those of you in the Linux and Windows World who never had BBEDIT. I pity you.
Some drink at the fountain of knowledge. Others just gargle.
Disclaimer: I switched to textmate about 4 months ago and am an absolutely avid fan, more so than even the most rabbid of mac fanboys (and I own a macbook, so I know this species too).
The snippets, IMHO, are the best thing ever. Honestly, my productivity has shot through the roof because creating simple things like for loops takes about 8-12 key hits to get all the infrastructure done, and with all the proper brackets and semicolons all perfectly placed and formatted. I shit you not when I say that this has eliminated 90% of my debug problems.
plus you can essentially make anything a snippet, from simply putting out your details (say an entire address formatted) and the like. Totally understands and formats as per a given document type.
The book reviewed here is pretty sweet too, and I learned a few things that I wasn't aware existed. Its worth buying as well simply to use as a good reference material.
I defnitely recommend trying this as shareware for at least a few weeks.
my last sig was too controversial... now, a new and improved useless sig!
Uhhh... AppKit and CoreFoundation exist on other OSes? This is news to me. While it might be possible to use a subset of them a make something that could either be compiled for GNUStep and AppKit it wouldn't be simple or "no extra effort."
Go ahead and laugh but... KDevelop.
If you haven't tried it in a year or so, give it another go. In my opinion it's superior to the VS IDE, in many ways. The editor is fantastic, much better than the VS IDE editor which isn't as configurable, and doesn't provide as rich of an environment. Code folding, and indenting is much nicer in kdevelop.
Also, kdevelop's autocomplete is a significant step up over IntelliSense. It works in all cases, even for add on libraries (it's very easy to build additional autocomplete databases), and parses super fast (near instantaneous) -- and actually does the right thing in all cases. I was frequently annoyed by IntelliSense when I was doing win32 programming. Not to mention that kdevelop actually autocompletes variable names as well (as you type) not just functions and their parameters.
I would say that the integrated VS debugging facility is nicer than kdevelop's, however kdevelop's debugging still works VERY well -- I think that this is just one of visual studio's strong points, and an area where the open source alternatives are still playing catch up. But seriously, a lot has happened in the past year (or so), and it's become a tool I can't live without.
I've also heard people praise Apple's Xcode in significant ways (even windows people). Not having used it though I can't comment, but it sounds to me like visual studio isn't the be all and end all of IDEs that it used to be.
E-TextEditor. The TextMate guy has helped them a bit, and they bleat on all the time about how it's like TextMate ;-)
There is an open source text editor for OS X called Smulton. I've been using it for awhile. It's a bit lean on features, but it is free.
http://smultron.sourceforge.net/
On Windows, I use PSPad (Free) or UltraEdit (Commercial). The only thing I know of on GNU/Linux is BlueFish and SciTe.
You mean like the native Carbon gvim for Mac?
The first hit for "mac vim" on Google: http://macvim.org/OSX/index.php
It's beautiful and I use it every day.