Bare Bones Software's BBEdit, one of the longest-standing applications in the Macintosh world, has received a major update to version 9.0, adding a number of features that will likely enhance the productivity of anyone who uses the text editor or currently relies on a less-capable program. Whether you need a Web authoring tool, a programmer's editor, a utility for manipulating massive text files, a writing tool that focuses purely on text, or all of the above at different times, BBEdit 9.0 has new features that will make your life easier. Oh, and yes, if you look hard enough, it has ponies too.
Find Modelessly -- Perhaps the most significant changes to BBEdit 9.0 apply to its much-admired searching capabilities. In this version, Bare Bones has separated the act of searching for text within a single file from searching for results across multiple files. A modeless, resizable Find window provides all the grep-capable searching power that BBEdit users have long appreciated. However, if you want to run a search across multiple files, you'll instead rely on a new Multi-File Search window that's also modeless and resizable. Multi-File Search can search through open documents, as well as the contents of disk browsers, recent folders, BBEdit projects, recent Xcode projects, and even saved Spotlight searches. There's also an option to colorize grep searches in the Find window, which should make complex grep patterns easier to parse.
After all these years, it's great to see Bare Bones setting the old modal Find & Replace dialog aside ("Thank goodness!" exclaimed Tonya when I shared this news). But never fear, if you're addicted to the old interface, or if you frequently want to switch from searching for text in a single file to searching for the same text in multiple files, an option brings back the old Find & Replace dialog.
Another related feature that has changed significantly, and for the better, is BBEdit's Find Differences. In BBEdit 8.5, Bare Bones added the capability to display which characters within a line were different between two similar files. That was huge for us, since it enabled us to use BBEdit in conjunction with the Subversion version control system to work with TidBITS articles. Though code may have relatively short lines, a line of prose is a paragraph, and without knowing what within a paragraph has changed, knowing only that two paragraphs are not the same isn't particularly helpful. In BBEdit 9.0, Bare Bones has enhanced the Find Differences feature such that it not only shows the changed lines, and the changed characters within each line, it also lets you see and replace individual spans of differing characters within each changed line.
Browse and Edit -- BBEdit has long had File Group documents that enabled you to bring together files and folders from disparate parts of your hard disk, but file groups were really just an alternative view of files that already existed in the Finder; you could open, rename, and delete them, but not much more. Similarly, the program has long featured Disk Browser windows that showed a view of files and folders on the hard disk; within a disk browser you could see, but not modify, the actual content of files. In BBEdit 9.0 both file groups, renamed Projects, and disk browsers now work the way they should in providing not just opening and previewing capabilities, but full editing. Whenever you click a file in the left sidebar of a project or disk browser window, the file opens in the main window, fully editable. Double-click a file and it opens in its own window, just as in previous versions.
For programmers dealing with hundreds or thousands of files, BBEdit's file groups and disk browser windows were useful before, and they're far more useful now. For those for whom the previous features weren't helpful previously, they very well may be now - I plan to give them a try, whereas I'd never seen the benefit before.
Alas, BBEdit's FTP/SFTP Browser does not yet share this editable pane feature, which would be huge for Web developers. It would also be great to see additional version control interface within disk browsers, identifying files that had been changed in the repository but not yet updated, or that had local changes not yet committed back to the repository.
Because it's possible to have a file open in a project window, in a disk browser, and in an independent window, BBEdit 9.0 also lets you change a file in any window and have the changes reflected immediately in all the others. I can't quite imagine why you'd want to open multiple views to a particular file intentionally, but the alternative - keeping track of which window contained which changes to the same file - would undoubtedly cause fits of uncontrolled gibbering.
More Features -- Though editable panes in Project and Disk Browser windows and the modeless Find interface are the marquee features of BBEdit 9.0, there are plenty of other additions. A Scratchpad window provides a constantly saved place to dump bits of text for editing or copying into other documents. If you use BBEdit on multiple Macs, the program can now sync the contents of the ~/Library/Application Support/BBEdit folder to other Macs via MobileMe - handy for maintaining the same clippings, text factories, and other settings between computers. One clever technique - if you have to use BBEdit 9.0 on someone else's Mac temporarily, you can simply copy the version of the BBEdit folder on your iDisk down to the Mac to recreate your personal environment.
For sysadmins, BBEdit can now read and write bzip-compressed files (.bz2) such as Leopard's log files, much as it could already work with gzip-compressed files. And last, but by no means least for those of us who write for a living, BBEdit windows can now feature a constantly updated character, word, and line count; clicking it toggles between counting for the document and for the selected text.
Upgrade Details -- Upgrades for registered customers of any previous commercial version of BBEdit cost $30. New copies of BBEdit 9.0 remain priced at $125, and the educational price remains at $49. The program is available immediately; there's a fully functional 30-day trial version that's a 15.4 MB download. It requires Mac OS X 10.4 or later, and is a universal binary.