|
|
|
|
|
|
|
BBEdit v6.5 by Bare Bones Software
|
|
Introduction
Since its first public release in April of 1992, BBEdit (v2.1 then) has steadily become better and better and the feature set more refined. It has also become a Mac must-have application for its followers - of which there are many. In this day and age of MacOS X, things haven't changed and BBEdit is one of the first serious applications to support it.
BBEdit has steadily transformed over the evolution of the Apple Macintosh operating system, or MacOS. Now that the MacOS has hit version "X" with its bold new styling and Unix core - BBEdit is right there with it. This review covers mostly the changes between v6.1.2 and v6.5, newly announced. It is not meant as an introduction to the program.
At first you might not be sure if an upgrade is warranted since this is a for-cost upgrade and not free. The seemingly "minor update" by looking at the version number is a little misleading, however. This is actually a serious update especially for folks using the app on MacOS X and those doing HTML/CSS/PHP editing specifically. It's definately not a major upgrade, but there are a few features that make it very worthwhile.
BBEdit has been called "the Photoshop of text editors" and described "what Photoshop does for pixels, BBEdit does for text." I would say that's fairly accurate. I think only Emacs exceeds BBEdits feature list and capabilities but personally, I'd rather use BBEdit.
Features
BBEdit has all your basic text editing functions, but like the saying goes, it's "the little things" or the "attention to detail" that really matter, and this is where the program really shines. In addition, there are numerous hardcore functions at your disposal if you're editing HTML/CSS, programming (Perl and PHP especially), writing lots of text or even working with data at the command line in Unix.
One shining example of this and new to v6.5 is the mapping of the MacOS X "hide application" shortcut key sequence. You can select Cmd-H to either hide BBEdit or function in the usual way, which has been to "find selection." I'm the type of user that likes the consistency in the interface over the application, so this is nice. This isn't new to v6.5, actually - but what is new is that the first time you try to hide BBEdit in this fashion, a dialog box pops up and explains the situation and allows you to set up the behavior as you'd like. You can always change it in the "Set Menu Keys" dialog later on.
BBEdit also supports contextual menus at the cursor point or on selected text by control-clicking or using the right mouse button. Depending on the kind of document you are editing, you can resolve URLs, insert tags and set markers. I think that this menu could be made more useful, however - as the options aren't many. Combined with a scroll mouse, which is fully supported under MacOS X - this could be quite a handy shortcut.
In this recent update, a phenomenal addition called "shell worksheets" was added. This lets you run commands just like at the command line from within your document and have the results pasted in place. I do a lot of system management tasks and having this at your disposal is a big time saver. Instead of creating your document at the command line and piping it to a file, then opening it in BBEdit - you can do this all in one quick motion from within your document. From as simple as grabbing the output of an "ls -l" command to multiple commands over several lines, all working towards results that you wish to further edit or present are possible. To try this firsthand, create a new document of type "Shell Worksheet." A sample document is automatically loaded for you, describing this further. Note that this isn't a replacement for a shell, which you should still use if you need to interact with applications you run - but a great way to gather and manipulate data into a new document. Now take this one step further and imagine that you can run a Perl script from within your document, as well! New in v6.5 is a command-line tool that you can use like a normal Unix application. For example, "ls -l | bbedit" will open BBEdit with the contents of your directory in a new file. Sweeeeet...
Another feature along this same vein is the ability to create your own "filters" of sorts, or more precisely - you can write Perl and shell scripts to manipulate your text, in whole or your selection. A dozen or so examples such as "kill dupes, count lines and sort" to name a few. These are accessible from the menu bar or from a dedicated palette (a.k.a. floating toolbar).
Perl and Programming
As an editor for programming languages, especially Perl - BBEdit offers some very interesting features. For example, it can serve as an IDE for your development - you can run Perl scripts that you're working on and have the output show up in a BBEdit window or have it run in a terminal. The text itself is syntax highlighted and certain features like "entab/detab, un/comment, shift left/right and line numbering" are very welcome. As mentioned below, the built-in search engine understands Perl-style PCRE (regular expressions).
Below are two screenshots of BBEdit 6.5 in action, editing Perl source code. Also in the screenshots is an instance of Internet Explorer with the Perl script running on a Website and Terminal showing the Apache error log. A complete coding environment for CGI applications!
![]()
![]()
You'll also notice in the above screenshots the capability of BBEdit to mark your source code. In the case of a Perl or other BBEdit recognized language, the "functions" drop-down lists all your subroutines/functions for easy selection. BBEdit then moves the cursor to the selected location. A real time-saver, and automatic at that. Sometimes though, you might still want to add your own locations. Through the "markup" menu as seen in the second screenshot, you can do that, too.
Internet Savvyness
If you're a Unix and Perl person, BBEdit is pretty nice to begin with. But if you edit HTML and CSS (cascading stylesheets) and mix in some PHP (MySQL database meta language) then this is the ticket. There's a separate multi-function HTML tools palette that you can display that gives you mouse-click access to HTML markup functions, syntax and link checking, tag balancing, tag normalizing, previewing and more. More than just icons (which they really aren't - they're text) each clicable item on the palette indicates whether or not it has a dialog box, a drop-down menu or is a one-click action. It's look can be tailored to your fancy and positions anywhere on the screen. This part alone is pretty much on par with programs like Pagemill, FrontPage and GoLive! without any site management functions. Many formats of files are recognized by BBEdit, and it colorizes your text accordingly. HTML tags for example, or Perl functions, etc. This particular feature was enhanced greatly in v6.5 and no longer relies on file extensions to identify the content alone.
That having been said, it should be pointed out however that BBEdit is very Internet savvy, in that you can save your files locally or remotely, via FTP. Makes no difference either way. Open a file locally and save it remotely or vice versa, with a list of bookmarks tunable to your liking... New in v6.5 under OS X, if the local file you're attempting to save doesn't match up to your permissions - you have the option of providing an administrative password to override it. That is, it won't work over FTP or under MacOS 9. Sure beats going to a Terminal window to change permissions using the command-line tools, especially when your in a rush or command-line phobic.
There's a separate drop-down menu item that will list all your default Internet related applications and gives you direct access to the Internet preference panel.
Search and Replace!
Searching for text is incredibly powerful. Way beyond your typical search with the option to replace, you can apply regular (or "grep") expressions which are, conincidentally - also syntax colored with tag balancing including the use of back-references within search patterns, "non-greedy" searching, and discrete match quantifiers. All this power, much like other functions from within BBEdit are presented in a clean, functional dialog box like this:
![]()
The "grep" method of searching, especially with syntax highlighting on those pesky regular expressions that can often resemble line noise - is a very welcome thing. It's also great for the Unix and Perl junkies out there that already know this powerful pattern matching technique.
Other Changes
One thing I noticed between v6.1.2 and v6.5 is the product packaging. In the former version, it was a plain cardboard box with a wraparound BBEdit label affixed. In this new version, the box is bleached white cardboard with a shiny sleeve slid over - which now has the product details. Certainly a more upscale form of packaging and probably more expensive to produce as well.
Another thing that's been updated in this version is the printed manual. Most, but not all of the former MacOS 9 screengrabs have been translated to MacOS X. It looks much more MacOS X-centric than the former version and more finished - but it's not quite there yet. An improvement nevertheless.
A neat new addition is the command-line command "bbedit" that lets you use BBEdit to edit any file on your system. How is this different from using the "open" command you might ask? If the file creator type associated with that file isn't BBEdit or properly at all - then you'll be opening that file with whatever application created it. Not necessarily what you want. A nice touch, and an important one to have on a Unix-based system. Granted, there are times when I still use a text-based editor like "vi" or "joe" for quick fixes, but that's an old habit, I guess. Now the choice is a lot easier.
Conclusion
One feature that is not implemented is "columnar selections" and although it's not an inherent feature, there is a freely available plug-in to accomplish this. I wish it was integrated with BBEdit, however. I recently had to manipulate huge Unix passwd files in Microsoft Excel to maniuplate the field-based data only to export it as tab delimted text into BBEdit again to make last minute tweaks and put it into a Unix format again with the proper line breaks. If this feature was part of BBEdit, it would've saved me much time.
As a Unix person at heart, I'm used to text-based editors and not relying on a GUI too much except to manage various applications and move my terminals around. When Apple made the move to MacOS X while I was wishing I could run mainstream applications on my various Unix platforms, I knew that this was the solution I needed. BBEdit falls square in the middle of all the things I need to do, from managing system files to authoring Website content and more with a nice, clean and efficient interface.
As for the recent changes and additions in v6.5, they round out and refine what is already a class act. Definately much more than a minor upgrade, it enhances the integration with MacOS X as well. The product, as a whole - looks much more like a release version for MacOS X than a quick, get-it-out-the-door variety. I suspect that with the next release any remaining "MacOS 9isms" will be vanquished and the whole "MacOS X thing" will be fully felt. Don't let this hold you off from getting this product, though - as it's clearly the best GUI text editor I've ever used, in my opinion, ever.
One thing I wish that was more exploited is the power of "shell worksheets" and Perl-based filters. Not the fault of Bare Bones mind you, as this feature is brand-spanking new. But with all this power and convenience, the mind reels at the fun you could have with this and the sheer number of ways to manipulate text that are now possible. Oft-repeated tasks can be automated to a ridiculous degree or you can help take the drudgery out of getting text in to, out of or manipulated in BBEdit. I suspect that the loyal followers out there will soon populate the free plugins area on the Bare Bones site with scripts that are sure to be developed as a result of this feature. Nice work, Bare Bones.
So, that's the review. I hope this gives you some insight into what BBEdit is all about, especially on Apple's new MacOS X platform. If it sounds like I'm highly praising BBEdit, it is only because it is a very good product.
Other Screenshots
![]()