For many people, being in “real IT” means that you ignore the word processor in your corporate-issue office suite in favor of a text editor. After all, a text editor, if only at its simplest (vi, anyone?), is likely to be on almost any system one has to deal with. But when you write code for a living, sometimes you want more than the operating system’s text editor, with its minimalist feature support. When a full-blown IDE is more headache than one needs, an intelligent text editor fills the gap nicely. Bare Bones Software’s BBEdit is a perfect example of the genre.
BBEdit may be the Swiss Army knife/Leatherman of developer tools for the Mac platform. That’s because it can parse a wide range of languages right out of the box, providing function, navigation and syntax coloring as well as language-specific behavior.
Although the ability to interpret the assembly language of the Motorola 68000 processor might simply be there for historical reasons, more conventional languages such as HTML and SQL are child’s play for BBEdit. Even my attempts to muddle some otherwise relatively well-formed HTML and SQL code failed to throw the software. BBEdit also supports syntax-aware formatting for common scripting languages, including Perl, PHP, Python and Ruby on Rails.
The user interface in the latest release, BBEdit 10, has been reworked a bit, with lists of recently used documents and new project management features, including the ability to save windows displaying multiple documents as a project. Project packages now by default include a dedicated scratchpad and Unix shell worksheet, providing a convenient place for project notes in code and human language.
For those not familiar with the idea of a shell worksheet, this is a BBEdit feature that was introduced roughly a decade ago, which is in turn based on the user interface of the old Macintosh Programmer’s Workshop. In many respects, it’s a mashup of a terminal window and a text document. The worksheet metaphor allows users to run command strings-at least, those that don’t require interactivity-from within an editable environment.
The HTML markup tools have also been overhauled in BBEdit 10 to now allow the use of any available attribute when creating or editing an element or an element’s attributes. The application presents valid “completions” for the valid attributes of the element. The preview window can now be modified with adjustable Cascading Style Sheets (CSS) and reviewing templates, for working with partial page content.
This release of BBEdit adds a bit more support for cloud-based configuration of the software. Application support data can now be maintained in a Dropbox folder, allowing users to share supporting files between machines running BBEdit-subject, of course, to the terms of the license. (In the case of a single-user license for BBEdit, that would mean one office computer plus one at home.)
Other Clever New Features
After the interface improvements, the cleverest new feature of BBEdit 10 is the support for seamlessly editing text files that are stored within a .zip file. BBEdit 10 will extract the text document from the archive and, if the user saves changes, recompress the document in the archive. This even works when performing a search-and-replace across multiple files.
BBEdit 10 includes a new option in the application’s Quit command that preserves the state of the workplace between sessions. This feature is independent of a similar one in the recently released OS X “Lion” and is based on the application’s former Sleep command. Because it uses its own routines, it works on “Snow Leopard,” the prior release of the Apple OS.
BBEdit 10 also adds a color scheme management function that uses the BBColors format to define how elements are viewed. Color schemes can also be applied language by language.
Even the Preferences dialog has been overhauled for BBEdit 10. It’s crisp in appearance and as well-organized as one could want. A new Setup pane allows users to manage those parts of the configuration that aren’t necessarily user-specific, such as file filters, FTP bookmarks and Website configurations.
BBEdit 10 is available directly from Bare Bones Software’s online store and through Apple’s Mac App Store. Single-user licenses are available for $49.99, with a discounted price of $39.99 available through mid-October. There’s one catch: The Mac App Store version of BBEdit lacks the command-line tools and the authenticated save feature that are offered in the direct download.
Bare Bones removed these features to comply with Apple’s guidelines for the Mac App Store. The command-line tools can still be downloaded from the Bare Bones Website, but users requiring the ability to save files that the OS sees as owned by another user-such as system files-are advised to purchase BBEdit directly from Bare Bones.
BBEdit 10 works well with even ridiculously large files. The demo includes a 150MB file of text as a sampler, and Bare Bones claims that the software can handle 250MB and larger files with ease. I had no unexpected difficulties when manipulating a 300MB file, but as always, your experience may vary.
As text editors go, BBEdit 10 is a powerful, yet easily comprehended tool. Although it lacks the scope of an IDE, the syntax-aware formatting and productivity features of BBEdit allow users to focus on the work at hand, rather than the tool.