A robust text editor that can perform many coding functions. (October 12th, 2011)
BBEdit, from Bare Bones Software, is a robust text editor that can perform many coding functions. Although it is easy to use, it has many complex features. It can open almost any length document, provides custom color-coding, and offers multiple find options.
Product Manufacturer: Bare Bones Software
Price: $49.99 US
- Edits almost any kind of text file.
- Edits files in compressed archives.
- Lower price than previous versions.
- Preview mode for HTML and Markdown.
- HTML5, Perl, Java and multiple coding languages supported.
- Highly scriptable and customizable.
- None, really.
Bare Bones Software recently released version 10 of BBEdit their oddly misnamed ”Bare Bones“ text editor, BBEdit. I call BBEdit misnamed because it is chock-full of useful features that make working with text files easy. There’s nothing bare about it.
Some of the features added to version 10 include OS X Lion (10.7) compatibility, new project and document editing windows with unified layouts, and an updated HTML Markup panel and palette. Bare Bones added support in BBEdit 9 that allows you to browse documents stored in zip archives, but version 10 lets you work with those files, and save your edits back into your zip file. BBEdit 10 also adds zip archive search and preservation of open documents when the application is relaunched. This version is Intel only for Mac OS 10.6 or later. Recently, a free update, BBEdit 10.1, was released which addresses a number of user reported bugs and adds a “new, modeless ‘Open File by Name’ feature with efficient search-as-you-type results.”
Using BBEdit 10The basic structure of a BBEdit window includes a list of open files being edited on the left side, and the contents of a file in the main window. You can click on a file name in the sidebar to switch between active files. You also can have multiple BBEdit windows open at once.
If you work with almost any kind of structured text files, BBEdit can help you work better. It implements syntax coloring for a vast array of different programming languages, as well other text file formats such as XML and Markdown.
BBEdit also knows about the structure of many different text formats, and allows you to collapse and expand portions of the text. This is really nice if you are editing a language that consists of many short lines, such as XML. In the image below near the top, the line that says ... has been collapsed, and that status is shown by the disclosure triangle on the left side of the text display.
Web Page EditingBBEdit makes it easy to edit HTML; it has a whole Markup menu dedicated to inserting properly formatted HTML elements into a file. For example, when you choose ”Table“ from the Markup menu, it presents you with a dialog asking for the salient information about the table. Fill in those elements, hit return, and a properly formatted HTML table is added to your source file. You can also use the floating palette HTML Markup Tools to achieve the same end.
If you want to know what your HTML looks like, you can use BBEdit’s Preview commands to render the HTML. You can use BBEdit’s built-in rendering engine or open your HTML in the browser of your choice. If you write in Markdown instead of HTML, BBEdit has a built-in preview for Markdown files as well. It includes automatic syntax coloring.
BBEdit 10 can also navigate folders and show you all the files in a folder. If you want to edit a set of related files, this makes it easy. When you click on a file in the sidebar on the left, it opens it in the editing panel on the right. If you want to ”tear off” a file into a separate window, you can use the menu command Move to New Window. In addition, you can drag project folders from one window to another and new commands in the View menu let you hide what you see in the left list window.
Even better, BBEdit 10 can edit the contents of zip archives as if they were folders. You can browse zip and tar.gz files, view the contents of files, and edit them. BBEdit will decompress the files so you can edit them, and recompress them when you save them. One unexpected use for this feature is exploring the inside of EPUB files (electronic books), which are zip archives of text and HTML files. As well as viewing and editing these files, BBEdit can search them, which makes finding quotes in your eBooks a piece of cake.
SearchBBEdit has a facility to search a file or a group of files for some text. This tried and true feature isn’t new, but deserves a special mention due to its usefulness. You can either search for an exact piece of text, or for a regular expression (such as an “X” followed by 2-4 lower case letters, followed by an “n”). Regular expressions are a powerful tool for finding things in text files, and BBEdit makes it easy to construct regular expressions, with a good basic built-in tutorial. You can search and replace text as well. BBEdit handles this quickly and easily. For large scale automatic replacing, there is “Replace All,” which also works across multiple files. If you want to do this by individual occurrence, the “Replace, then find” command does the replacement and moves to the next match. If you search using regular expressions, you can replace using them too - which opens up the possibilities of very complex search and replace operations. You can search on the selected text in a file, an entire file, a collection of files, a folder, a collection of folders etc. (Editor’s Note: I’ve used the search and replace command on 20+ web pages at once to correct mistakes multiple times, and the program worked flawlessly.)
If you have two similar files in which you want to know what the differences are, BBEdit has a ”Find Differences“ command. It shows you the two different files side by side, and highlights the differences. If you have two folders that you need to compare, BBEdit can do that as well. It tells you which files exist in one folder but not the other, and shows you the differences in the files that exist in both. This is really useful when you look through two different versions of a project, and wonder “What, exactly, did I change here?”
Programmer’s ToolsBBEdit was originally developed as a programmer’s editor, and it still has lots of features that appeal to software developers. One of my favorite BBEdit features is the ”shell worksheets,” which reminds me of the old Apple developer tool, MPW. A shell worksheet is a text file that is connected to a command shell. You use it by typing commands, selecting them, and hitting Enter. When you do that, the selected text is executed as if you typed it in Terminal. This is great for trying out Terminal commands or saving multi-step workflows that you do occasionally.
I have a set of commands that update my sources from a source control system, and then build the application that I am working on. When I come into work, I select these 10 lines in my Worksheet, hit 'Enter', and a couple of minutes later, all my source files are up to date and my application has been rebuilt.
Bare Bones makes it easy for software developers to integrate BBEdit into their workflows. They supply a set of command-line tools designed to help you make use of BBEdit from shell scripts, makefiles, and terminal windows. The basic tool, called bbedit, lets you open files in bbedit from the command line. The bbfind tool lets you search folders for a particular piece of text, using BBEdit’s powerful search capabilities, and optionally review the results in BBEdit. Finally, the bbdiff program lets you compare two files or folders and optionally use BBEdit’s user interface to review the changes.
BBEdit is customizable too. You can teach BBEdit about new languages that it doesn't know. You can also build up a library of simple tools (called Text Factories), clippings, AppleScript scripts, and Unix filters and scripts. In BBEdit 10, you can put these support files in your DropBox (http://www.dropbox.com) folder, and share them among multiple machines.
Updates and CostThe current version of BBEdit is 10.1, but Bare Bones updates BBEdit on a fairly aggressive schedule. Like many software packages today, BBEdit checks for new versions when you start it or you can manually check if, like me, you never actually quit BBEdit. Bare Bones has never charged for minor revisions (9.0 to 9.1, for example). They do charge for major revisions, such as version 9 to version 10.
Bare Bones has dropped the previous $99 price tag to $49.99. The good news is that through October 19th, you can purchase it for $39.99 from the Mac App store.
Bare Bones Software does not offer technical support via the phone, but when I experience a problem, a simple email to support (firstname.lastname@example.org) yields a response within a couple of hours. I’ve received reasonable responses even outside of east coast business hours (Bare Bones is located in Massachusetts).
Edited by Ilene Hoffman, Reviews Editor. Disclaimer: Bare Bones Software is a long time supporter of Ilene’s Macworld Hess Events List, created with BBEdit. Marshall Clow beta tested BBEdit versions 9 and 10.