I’ve been reviewing (and praising) BBEdit, the superb text editor from Bare Bones Software, in Macworld since 2008, and the application itself has been available since 1992, long predating OS X. Looking back, I realized something: BBEdit looks almost unchanged for many years. That’s a key to its success—longtime users never lose their investments in familiarity and muscle memory, but BBEdit keeps getting better.
The latest incarnation, BBEdit 11, continues this tradition, by modernizing key systems under the hood, and adding a select few features that make its core mission—expert text editing and manipulation for coders and authors alike—easier and more productive.
It’s inevitable that with an application as old as BBEdit, parts of its code base will grow old and require modernization, and one of the goals of BBEdit 11 was to revamp the program to strengthen and prepare it for future improvements. In California, we do this to our buildings; it’s called “seismic retrofitting.” In BBEdit’s case, three important parts of the program were extensively rewritten: Find Differences, Syntax Coloring, and Clippings.
Find Differences lets you compare different versions of a document, either stored locally or managed in a version control system. In previous versions, BBEdit used three windows to show the current file, the previous file, and a list of differences. This worked fine as long as you didn’t open any other documents, but if you did, you could quickly get confused by the multiple windows on screen. BBEdit 11 corrals the three windows into a single window with three panes, and both the current file and the previous file are fully editable. Plus, a new sidebar lets you compare different folders containing text files and easily copy files from one folder to the other.
The improvements in syntax coloring will appeal mainly to coders—the feature displays different parts of code in specific colors to make the code easier to read. A new set of color schemes should please both the dark-text-on-light-background and the reverse crowds, and now you can also change syntax coloring options for individual languages. By default, BBEdit doesn’t include syntax coloring for Apple’s Swift language (which is still somewhat of a moving target), but a community member created a coloring module and made it available on Github.
Better text manipulation
Many prose authors, especially those writing for the web, prefer writing in a plain text editor like BBEdit rather than a word processor like Microsoft Word. Still, BBEdit 11 has some welcome new tricks that have been in Word for years. One of these is rectangular text selection, which allows you to hold down the Option key while dragging out a selection. Typing into the selected area then adds what you typed to all the lines within the selection, especially useful for things like tabular data. BBEdit also adds new “Move Line Up” and “Move Line Down” commands, with associated keyboard equivalents to quickly move lines or selections within the document.
A new feature especially useful for prose writers allows you to place the cursor in the first instance of a word, and BBEdit then adds a subtle underline under all the other instances of that word in the document. This lets you see when you’ve been overusing a word and makes it easy to change it to keep your writing more lively.
BBEdit has long had powerful find-and-replace abilities, including grep pattern matching, but a new addition to the Find dialog, the Extract button, creates a new text document with the results of the find operation. This works on either a single document or with the program’s Multi-Find Search, potentially allowing you to search and extract text from any number of files in a single operation.
Git along, now
One feature notable by its omission, considering that the program is marketed to programmers, is built-in support for the Git version control system. Interfaces for other systems, namely CVS, Subversion, and Perforce, have been part of BBEdit for years, but these systems have waned in popularity compared to Git, which is now the most popular version control system.
Git’s web-based hosting service, GitHub, is the largest code repository in the world, home of countless open source and private projects, with excellent collaboration features. It’s more or less the official code host for Linux projects, and can even be used to track versions of things like Photoshop and Word files. A community member has created a package to allow BBEdit to work easier with Git (available from BBEditextras.org), but considering Git’s importance to the programming community, it’s puzzling that Bare Bones hasn’t brought Git integration into the core application.
As is common with new versions of older software, I ran into a few minor bugs. The contents of some windows, especially in the preferences, leave odd artifacts when scrolled, but these problems are easy to work around.
The upgrading lowdown
BBEdit’s price is unchanged at $50, with owners of BBEdit 10 able to upgrade for $30, while users of previous versions will pay $40. With version 11, Bare Bones Software has removed BBEdit from the Mac App Store, but users who purchased BBEdit 10 from the Mac App Store can pay the same upgrade price.
As with its previous versions, BBEdit 11 doesn’t try to impress you with huge, flashy change-for-the-sake-of-change features. Instead, it quietly gets better, respects the investment its users have made in learning it, and is still your best choice in a full-featured text editor.