BBEdit is the undisputed king of the hill for Mac text editors when it comes to grep support, and the version 11 and 11.1 updates add welcome new features in several areas. One feature hasn’t appeared yet, but is Bare Bones teasing us that it will be soon?
Why It’s a Tease
I’ve been using Bare Bones Software‘s BBEdit on and off since my main storage medium was a 3.5-inch floppy disk, and version 11 has been part of my real world workflow since it was released several months ago. In my view, nothing else compares to BBEdit — in fact, nothing else has ever compared to BBEdit — for performing particular jobs. When it comes to applying regular expressions to manipulate text, for example, and especially for applying regular expressions to very large files or to large sets of files, nothing comes close to BBEdit’s mix of performance and ease of use.
Despite its unmatched longevity among Mac text editors and despite its unquestioned supremacy in many areas, however, there is one specific feature which BBEdit does not yet have, and that one specific feature has become a very strong incentive for many coders to try competing editors. In the latest release, BBEdit still does not have that feature — but it’s so close to having it that I’m convinced it will have it very soon. Either that, or the universe has gone all wonky and there is no justice in the world.
So let’s get this out of the way right from the start: BBEdit still does not provide multiple cursors/insertion points. Yet as of version 11, BBEdit offers the biggest nod possible to the multiple cursors that have become standard fare on editors like Sublime Text or Atom: BBEdit now underlines each occurrence of whatever word contains the insertion point at any given moment.
For users familiar with Sublime Text, this looks very much like that editor’s ability to outline all matching words when a given word is selected, and then to step through and add those words one at a time as new selections — each with their own new cursors — one for every press of
command-D. (BBEdit’s closest analogue is column-style selection with the mouse and option key, but it’s not at all the same thing.)
The new version of BBEdit reportedly includes a bucket load of unseen improvements and architectural updates under the hood, and I can’t help but think that part of those changes are going to make multiple cursors possible and that this new word highlighting is offering our first glimpse at that capability now in development. For me, the highlighting itself is a mix between minimally useful and just plain distracting, but if it’s a sign of multiple cursors to come, then I’ll happily leave the option switched on just to remind me of what is coming next.
More Substantial Improvements
For me, several other improvements in the new BBEdit are far more substantial in terms of their impact on the speed of performing common operations. For example, the version 11.1 release which just appeared at the end of April 2015 added a new item in the ‘Search’ menu to search in the current document’s parent folder.
For someone who uses multi-file search frequently, this promises to be a huge timesaver, because it opens the multi-file search window with the current document’s parent folder already selected as the location for searching. The old method for searching across the current document’s folder was to open the multi-file search window and then manually select the location to be searched, requiring either an additional click if it happened already to be in the list of recent folders or, if not, a potentially much longer process of manually navigating to select the directory in question.
The search and multi-file search windows also now include an ‘Extract’ button; this works akin to the ‘Copy to new document’ option in ‘Process Lines Containing’ under the ‘Text’ menu and allows all the matches from a given search or multi-file search to be extracted into a new document. Although the ‘Process Lines Containing’ capability already supported grep, it did so only over a single document, so in that sense the ‘Extract’ button duplicates what was already available for single file search; but for multi-file search, that tiny button adds a whole new chunk of multi-file capability.
In terms of ordinary editing, as distinct from grepping, the update brings several more welcome improvements that can speed things up nicely. The headline feature is a new 3-pane diff window, which for the most part is vastly easier to work with than its predecessor.
Whereas previously, comparing two documents happened via a peculiar automatic resizing and repositioning of the two document windows and the addition of a third window below the two being compared, now it all happens in a single window. This keeps everything nicely together if you should happen to need to switch temporarily to a different window, without risking everything getting out of position or mis-layered. My only gripe about the new comparison window is that if you’re comparing two documents which have unsaved changes, it’s now possible to close their main windows without receiving any warning, because they are still open within the comparison window. Strictly speaking, this makes sense, because the documents are still open, but it’s the fact that they’re still open only in the intentionally non-standard comparison window that sometimes throws me.
New additions also include more detailed syntax colouring and a more flexible clippings system — you can now specify a clippings set to be available universally, or to be associated with a specific language — and several editing shortcuts. There’s a very handy ‘Move line up/down’ shortcut which for several months had an odd quirk that multiple line selections only responded properly when terminated by a line break, but the 11.1 update fixed this to work even on selections that include the last line of a document. You can also now
control-shift-delete to kill a whole line at a time, and
command-shift-return are handy for adding new lines after or before the current line. (They do, however, also move the cursor to the newly inserted line, so you can’t use this new capability, for example, to quickly add lines both before and after the selected line.)
The 11.1 update brings a new and improved CSS and SCSS language module, EditorConfig support, and a new ‘Save All in Window’ item under the ‘File’ menu, for quickly saving all the documents open in a given window, without having to cycle through each, one at a time. The headline new feature of the 11.1 update, though, is Git support. For years, BBEdit has supported Subversion, but Git’s absence from BBEdit was becoming an increasingly big deal as Git has grown in popularity.
There have been a couple of small quirks during the last few months, but I’ve not encountered a single problem I would count as major. For example, updating to the initial version 11 of BBEdit was straightforward, but automatic update checking since then seems to have been a bit iffy; even several days after 11.1 was released, my installation of 11.0.3 was still telling me I had the latest version available. And on Yosemite, I’ve encountered sporadic
spindump reports on BBEdit up through 11.0.3; I haven’t been using 11.1 for long enough to be certain whether these have been fixed.
Overall, both the initial version 11 update and the subsequent 11.1 have been extremely solid and have brought very welcome new features that can make a big difference to real world productivity. I can’t escape that sense that surely multiple cursor support must be lurking under there somewhere, hiding out with just the word highlighting visible for now; if so, another update hopefully coming soon is going to be even more welcome.
The version 11.1 update is free for owners of version 11, while the update will set you back $29.99 if you’re upgrading from 10.x or $39.99 if you’re upgrading from an earlier version. New customers can buy BBEdit for $49.99.
All material on this site is carefully reviewed, but its accuracy cannot be guaranteed, and some suggestions offered here might just be silly ideas. For best results, please do your own checking and verifying. This specific article was last reviewed or updated by Greg on .