With a new ‘projects’ capability, text completion, non-modal find and a persistent scratchpad, the latest release of BBEdit — at version 9.0.2 as of this writing in December 2008 — provides new tools that allow it to move farther into the space occupied by full-fledged coding environments, without losing the simplicity that makes it a good fit for much smaller scale tasks. See our previous reviews of BBEdit 8.5 and of BBEdit 8.0 for more on this very capable software package, or read on to learn more about the upgrade.
Some Context on the King of Text Processors
Imagine an Olympic gymnast executing a triple back somersault with one and a half twists dismount and the commentator saying “hmmm, that right knee was slightly bent…that’s going to cost her”. What a faux pas! Can you imagine, bending a knee on a sequence like that? On the other hand, this is an Olympic gymnast, and there might only be a handful of other people in the whole world who can even come close to performing a sequence like that, knees bent or otherwise. Sure, she had a bent knee, but come on.
In this review, I feel a bit like that imaginary commentator, criticising some parts of the BBEdit 9 upgrade while still realising that as far as I am aware, this is the single most capable text processor available anywhere, on any platform, at any price. Yes, at least one competitor is closing the gap, but as far as I can tell, as of right now BBEdit is still the King of Text Processors. So if you’re a newcomer to this particular software package, I hope you’ll keep that context in mind as a backdrop for some of my more critical comments below. If you haven’t encountered BBEdit before, I’d also encourage you to have a look at the earlier reviews of versions 8.5 and 8.0 (“BBEdit 8.0” and “BBEdit 8.5 Upgrade”) for more on why someone working online in the mental health area might be interested in it in the first place.
With that nod to BBEdit’s depth and breadth of skill out of the way, let’s get on with it.
Wow, Modeless Find! (But is it a Mixed Blessing?)
No, I’m not being facetious: a completely non-modal find dialog box for BBEdit really is a big deal. For years, BBEdit employed a modal dialog box for its bread-and-butter find capability. That meant, among other things, that if you needed to work on a complex regular expression (i.e., grep) in a separate window before using it to find something, you had only two choices: 1) launch a separate text editor just to tweak your complex regular expression, or 2) continually use a “don’t find” keyboard shortcut to close the find dialog, then change to a different text document to tweak your expression, then change back to the document you wanted to search, then open up the find dialog again to paste in your expression. Sound tedious? It was, but no longer: now you can switch at will between the find dialog and document windows.
The downside of this new functionality? The answer to that depends on how you work. For starters, there are now three — count ’em, three — separate find boxes… There’s one for ordinary find and replace, and it supports the majority of what existing users will recognize from earlier versions. There’s a second for a “quick search” of the current document only, without any replacing or grep or other sophistications that BBEdit is known for. And there’s a third for multi-document searching, which includes all the relevant niceties from the main find and replace, plus the multi-document features.
Confused? Wait, there’s more… Not only have almost all (but not quite all) of the keyboard commands for all of these different ways of searching changed, but gone are the hints that used to appear next to each of the search option tick boxes and buttons if you held down the command key.
So the good news is that the powerful search functionality at the core of BBEdit is now much more flexible and easier (in theory) to use when creating and applying complex regular expressions. But the bad news is that if you are an existing user comfortable with previous versions, most of the keyboard shortcuts you rely on for finding will just be plain wrong, and there is no longer an easy way to remind yourself — you’ll have to pop open the preferences and search through the keyboard equivalents if you want to figure out how to manipulate the three different find boxes without tedious and slow mousing around. (And no, third-party utilities like KeyCue won’t pick up the shortcuts for a given find dialog box, only for the main menu items.)
Also, if you want to use grep to find something in the current document, you’re stuck using the main find and replace window, which returns results in a separate results window rather than simply revealing them right in the same document window itself. At least the results windows themselves now allow direct editing of results in situ, which can be a great help especially when searching across multiple documents — it’s no longer necessary to double-click a result and open a document in a separate window just to make a small change.
The upshot, in my experience, is that these particular changes will ultimately prove to be more a help than a hindrance, but the elimination of certain functionality — such as the helpful reminders of keyboard shortcuts for manipulating the find windows, not to mention the capability of searching a single document with grep and seeing the result right in the document window itself — is baffling. As a result, some tasks are now significantly more difficult than they ever were before. For example, I mentioned at the beginning the trouble with crafting complex grep using a modal find box; well, that problem apparently has now been replaced with another, which is that you can no longer get a quick visual indication in your document window of exactly what text gets matched by a given chunk of grep.
Text Completion, Projects and Scratchpad
I’ll mention three other of the ‘headline’ features that distinguish BBEdit 9 from its predecessors — Text Completion, Projects and the Scratchpad. (Of course there are far more new features and bug fixes than what I mention here — be sure to see the Bare Bones Software site for full details.)
Taking the last one first, the Scratchpad is like an ordinary text document, except that it is automatically saved between launches. The persistent Scratchpad can provide a place for editing those pesky chunks of grep or temporarily storing other fragments of text without having to save an entire separate document. The Scratchpad is also accessible via the Dock menu, and a function to append the selection to the scratchpad has been added to the Services menu. By default, there doesn’t seem to be a keyboard shortcut either to display the Scratchpad or to access its functionality via the Services menu, so in both cases these require some tweaking to get the most out of them.
Projects, by contrast, are already set up nicely. The replacement for File Groups, Projects give direct access to a set of related files, showing an hierarchical list of the files down the left side, plus an editing pane and the normal open files sidebar on the right. Files within a project can now be accessed for editing with a single click on the file in the list, without having to open a separate editing window.
Finally, the Text Completion feature leverages BBEdit’s clippings (formerly glossaries) to provide automatic completion suggestions for snippets of text. These are chosen from a user-selected vocabulary for HTML, PHP, CSS and other languages. Just like the text auto-completion which is built into Mac OS X, BBEdit’s Text Completion provides a pop-up list of suggestions at the press of a hot key. In practice, however, I have found it to be a mixed bag. For example, I sometimes find the chosen language changing unexpectedly — yet at other times, despite having chosen a specific language, BBEdit will not offer any auto-completions from that vocabulary.
As an example of the latter, if I type several paragraphs of text and then use BBEdit’s translate function to wrap the text with paragraph tags (as one might do, for example, when writing a few paragraph to place in a web page), BBEdit will not then offer any HTML Text Completion when working in that document — even though it has just done the translation to HTML itself, and even though I have selected the HTML clipping set explicitly. I’m guessing this might be because BBEdit detects the full document is not a well-formed HTML document and thus doesn’t want to offer me any HTML tags, but I would much prefer that if I manually select HTML as a clipping set, BBEdit delivers the HTML clipping set — regardless of what it thinks is the language of my current document. (If you’re upgrading, note that you may also have to download the current default set of clippings from the publisher’s website; in some cases, your existing clippings folder will not be properly updated by the installer.)
For a comparatively simple language like XHTML, I personally find it more straightforward to use a dedicated text expansion utility such as Typinator, but for vast languages like PHP, BBEdit’s completion facility probably still wins out.
On the positive side, BBEdit’s clipping sets are now significantly more comprehensive. And on a related note, so too is its ability to parse code and fold it at appropriate boundaries. Very complex PHP functions, however, still trip it up. Ironically, this is particularly true for those which themselves incorporate extensive grep pattern matching, for example with
On balance, the new features of BBEdit 9 — and again, there are far more than I’ve covered here — feel like moves in the right direction, but in my experience some of them still need work. Despite the rough edges, if you’re a new user whose needs go beyond what BBEdit’s free little sibling, TextWrangler, can meet, then I think it’s clearly worth a look. And an inexpensive upgrade path for users of earlier versions means the new version is still probably worth it, even though you may experience a temporary drag on productivity while learning the new find behaviours and keyboard shortcuts.
System Requirements and Update Pricing
For owners of versions 2.5 through 8.7.2, the BBEdit 9 upgrade costs $30. If you purchased BBEdit 8.5 or later on or after the start of 2008, the upgrade is free. For new users, the price is $125. See the Bare Bones Software site for full details.
BBEdit 8.9 requires Mac OS X 10.4 or later, and it supports both Intel and PowerPC processors.
Please see our Review Disclosure Policy.
All clinical material on this site is peer reviewed by one or more clinical psychologists or other qualified mental health professionals. This specific article was originally published by Dr Greg Mulhauser, Managing Editor on .on and was last reviewed or updated by