It’s always interesting to see what features and enhancements Bare Bones Software comes up with for BBEdit, given that the venerable text editor has been evolving for over 33 years. For the major BBEdit 15 update now shipping, the company implemented additions and refinements that have the potential to help your workflow.
The most significant new feature—at least from the trendiness standpoint—is the addition of ChatGPT worksheets that extend the concept of BBEdit’s Shell worksheets that let you chat with the Unix shell. With ChatGPT worksheets, accessed from the File > New menu, you can have conversations with ChatGPT directly within the BBEdit worksheet, with each response appearing directly under your prompt. (As with Shell worksheets, press Enter or Control-Return to send your command to the ChatGPT API.) You can copy suggested lines for pasting into your code (use Text > Strip Quotes first) and continue the conversation until you get what you want.
Interacting with ChatGPT requires a ChatGPT account and an API key. Note that API access is separate from OpenAI’s interactive ChatGPT subscription. Although OpenAI charges for API requests, Bare Bones doesn’t earn any money from the feature. All queries and responses are transmitted directly between BBEdit and OpenAI, so Bare Bones never sees your conversations.
I recommend programmer James Somers’s thoughtful article on this topic in the New Yorker. It closes with:
I suspect that, as my child comes of age, we will think of “the programmer” the way we now look back on “the computer,” when that phrase referred to a person who did calculations by hand. Programming by typing C++ or Python yourself might eventually seem as ridiculous as issuing instructions in binary onto a punch card. Dijkstra would be appalled, but getting computers to do precisely what you want might become a matter of asking politely.
BBEdit’s ChatGPT worksheets are an early pass at enabling more fluid conversations surrounding code, and I expect the company will be taking feedback from customers who use it (and they want to hear from you—don’t be shy!) to inform the evolution of such features.
Anyone whose code or documents go on for pages will appreciate Minimap. Choosing Window > Palettes > Minimap displays a scaled-down version of the current document that floats above all other BBEdit windows, showing a greeked version, complete with colorizing and selections. A slightly darker background in the minimap indicates the portion of the document that’s currently showing.
The idea behind the minimap is that you can use it to get an overview of your document and navigate quickly—clicking in the minimap moves the insertion point to the corresponding location in the document. It’s like a scrub feature in a video editor or streaming player. You can even select text in the minimap to create that precise selection in the document.
BBEdit 13 introduced a Grep Cheat Sheet built into the Find window, and a Markdown Cheat Sheet appeared in BBEdit 13.5. They are designed to serve as quick references for bits of text you can never quite remember—does a Markdown link have square brackets first and then parentheses, or is it the other way around? Cheat sheet entries are essentially live links: clicking an item in a cheat sheet inserts it into the current document.
BBEdit 15 now lets you create your own cheat sheets. A cheat sheet relies on relatively simple JSON. Once you’ve built your cheat sheet, you can make it available alongside others in Window > Cheat Sheets by placing it in BBEdit’s Cheat Sheets support folder (open it by choosing BBEdit > Folders > Cheat Sheets).
Other New Features and Enhancements
BBEdit 15 brings numerous more minor changes—somewhere around 200 in all. Here are a few of my favorites:
- Revisions menu: The navigation bar now contains an icon that, when clicked, displays a menu of revisions to the document. It pulls from git, Subversion, or versions recorded from the file system. This is amazing! Choose a revision from the menu, and BBEdit opens a Differences window that compares the current version to the revision. If you’ve changed the file but not yet saved it, you can also compare it against the version on disk.
- Grep status indicator: When building a grep search in the Find window, it’s easy to make a mistake and end up with a malformed pattern that will result in an error. To help you realize more quickly that you have a problem, BBEdit now shows a red exclamation point when it detects an error as you’re typing, and a green checkmark appears when your pattern is correctly formed. Click the indicator to learn more about the mistake. (Because it checks as you type, watch the indicator shift from red to green and back again as you refine the pattern.)
- Text factory interface overhaul: I’m a fan of text factories, which let you bundle together a collection of BBEdit’s text manipulation commands to run sequentially against a selected file, folder, or group of files. Previously, text factories relied on a special panel, forcing you to choose each command from a lengthy pop-up menu. BBEdit 15 turns text factories into documents that can live alongside others in a BBEdit sidebar, making it easier to associate them with projects and edit them alongside related documents. In each, a new left-hand pane lists the available commands; double-click one to add it to your text factory.
- Open Recent: When choosing just File > Open Recent—not any of the items in the sub-menu—BBEdit now opens a panel listing all the recent items and currently open documents, sorted in the same order as the sub-menu. The search field at the top lets you filter the list, and you can select one or more items and press Return to open them.
- Expert Settings: BBEdit shows numerous options in its Settings window, but many more “expert settings” are too obscure to warrant inclusion in the interface. Previously, you could look these up on a support page and set them with a
defaults writecommand on the command line. In BBEdit 15, choosing BBEdit > Settings > Expert displays them all. You can search for a specific setting and then copy it to get a properly formed
defaults writecommand (with the default setting, ready for adjusting) suitable for pasting into Terminal or a shell worksheet. Most people won’t need these expert settings, but they trigger fond memories of Eudora’s x-eudora-settings.
- Insertion point style: This is trivial, of course, but BBEdit 15 now lets you change your insertion point from the standard flashing vertical bar to a flashing block or underscore. Look in BBEdit > Settings > Editing if you’ve been wanting a Terminal-style insertion point.
I could go on, but you can pore over BBEdit 15’s release notes at your leisure.
BBEdit 15 requires macOS 11 Big Sur or later. The upgrade to BBEdit 15 is free for anyone who purchased BBEdit 14 on or after 1 July 2023, $29.99 for other BBEdit 14 owners, and $39.99 for owners of earlier versions. New copies of BBEdit cost $59.99.