BBEdit is the leading professional HTML and text editor for macOS. This award-winning product has been crafted to serve the needs of writers, Web authors and software developers, and provides an abundance of features for editing, searching, and manipulation of prose, source code, and textual data.
The first version of BBEdit was created as a "bare bones" text editor to serve as a "proof of concept"; the intention was to demonstrate the programming capabilities of an experimental version of Pascal for the Macintosh. The original prototypes of BBEdit used the TextEdit control available in versions of the classic Mac OS of the time. The TextEdit control could not load files larger than 32 KB. The Macintosh Pascal project was ultimately terminated, but the demonstration program was reworked to use the THINK Technologies "PE" text editing engine used for THINK C, which was much faster and could read larger files. BBEdit was the first freestanding text editor to use the "PE" editing engine, and is the only one still being developed.
BBEdit was available at no charge upon its initial release in 1992 but was commercialized in May 1993 with the release of version 2.5.[3] At the same time, Bare Bones Software also made a less-featured version of BBEdit 2.5 called BBEdit Lite available at no cost. BBEdit Lite lacked plugin support, scriptability, syntax coloring and other features then deemed as mainly for advanced users. Bare Bones Software discontinued BBEdit Lite at version 6.1 and replaced it with TextWrangler, which was available for a fee, although significantly less than BBEdit. In 2005, TextWrangler 2.0 was released as freeware and subsequent versions continued to be distributed as such[4] up until 2017, when it was sunsetted and incorporated into BBEdit.[5]
Throughout its history, BBEdit has supported many Apple technologies that failed to gain traction, including OpenDoc and PowerTalk. The failure of PowerTalk, and the desire of developers to have email integrated to their text editor, led to the development of Mailsmith, an email client that uses BBEdit's editor component. Formerly developed by Bare Bones as a commercial application, in 2009 Mailsmith was transferred to Stickshift Software LLC and would continue to be developed as a labor of love and released as freeware.[6] Development of Mailsmith ceased in 2018.[7]
In 1994, taking advantage of BBEdit's then-novel plugin support, third party developers started writing plug-ins to easily create and format HTML code. In fact, the developers at Bare Bones Software first learned of the existence of HTML through users inquiring about these plug-ins. Barebones later bought the rights to the plugin code from their author and included them as part of the standard BBEdit package. The tools were included as an optional palette in version 4, and were progressively more integrated, gaining their own menu in version 5.0.[8] In version 4.5, Bare Bones introduced BBEdit Table Builder as an additional tool for web designers and developers to visually design HTML tables, then the main technique for layout control on web pages.[9][10] Table Builder was removed in version 6.0, since enhancing it would involve replicating the features of existing visual HTML editors, and BBEdit was at this time bundled with Dreamweaver.[11] BBEdit's plugin support was removed in version 9.6, in favor of the expanded selection of scripting languages available on Mac OS X.
BBEdit was one of the first applications to be made available for Mac OS X, as a Carbon app. On macOS, BBEdit takes advantage of the operating system's Unix underpinnings by integrating scripts written in Python, Perl, or other common Unix scripting languages, as well as adding features such as shell worksheets that provide a screen editor interface to command line functionality similar to MPW Worksheets and Emacs shell buffers.
BBEdit is designed for use by software developers and web designers.[2] It has native support for many programming languages and custom modules can be created by users to support any language. BBEdit is not a word processor, meaning it does not have text formatting or page layout features.
The application contains multi-file text searching capabilities including support for Perl-compatible regular expressions. BBEdit allows previewing and built-in validation of HTML markup and also provides prototypes for most HTML constructs that can be entered into a dialog box. It also includes FTP and SFTP tools and integrates with code management systems. BBEdit shows differences between file versions and allows for the merging of changes. Support for version control, including Git, Perforce, and Subversion is built in.[2]
BBEdit supports syntax highlighting for a wide variety of popular computer languages. As of version 10.1, these include: ANSI C, C++, CSS, Fortran 95, HTML, Java, JavaScript, JSP, Lasso, Object Pascal, Objective-C, Objective-C++, Perl, PHP, Python, Rez, Ruby, Setext, SQL (including Transact-SQL, PL/SQL, MySQL, and PostgreSQL), Tcl, TeX, UNIX shell scripts, XML, and YAML. BBEdit's SDK allows users to develop additional language modules.[13]
BBEdit Lite was a freeware stripped-down version of BBEdit,[15][16] that ceased development in 2003. BBEdit Lite had many of the same features as BBEdit such as regular expressions, a plug-in architecture and the same text editing engine, but no programming and web-oriented tools such as syntax highlighting, command line shell, HTML tools or FTP support. BBEdit Lite 6.1 comes in two forms: a Classic version for use under Mac OS 7.5.5 to Mac OS 9, and a Carbon version that runs under Mac OS X natively. Note: the Classic version does not run under the Classic environment.[17]
In 2003, Bare Bones introduced the commercial text editor TextWrangler, an enhanced version of BBEdit Lite,[16][18] which ceased further development. Later TextWrangler 2.0 was made available free of charge.[19] In 2016, BBEdit 11.6 introduced a free mode that matched TextWrangler's feature set, and in 2017, Bare Bones sunsetted support and development for TextWrangler.[20]
A plain text editor like BBEdit, TextWrangler did not have a robust set of formatting and style options. It has features common to most programming text editors, such as syntax highlighting for various programming languages, a find and replace function with regular expression support, spell check, and data comparison. TextWrangler also included scripting support using AppleScript, Python, Perl, shell scripts, and BBEdit's native Text Factories. It supported text reformatting, and could read and save files in encodings including various Unicode encodings, ASCII, Latin-1 and Latin-9.
In the Summer of 2016, with the release of BBEdit 11.6, Bare Bones Software introduced a free mode of BBEdit[21] that even after the expiration of the 30-day evaluation period of BBEdit's full features would continue to offer TextWrangler's features and some additional features beyond TextWrangler's.[22] In response to a user question, author Rich Siegel confirmed that TextWrangler would eventually be phased out, given that the free mode of BBEdit now incorporates all functions of TextWrangler.[23][24]
I open a lot of new documents in Textwrangler/BBedit and I would like them to always have the date printed at the top. I would like this to be automatic so that I don't have to remember to run a script each time.
I'm new to BBEdit but I really like Textwrangler and have used it for years. I read some of the documentation on BB and I think that attaching some Applescript to an event might be the way to go. However, none of the listed events seem quite right, and I don't really want to add dates to existing documents.
I don't know if any of those really fit, though. I could also try adding some scripts into the startup folder, but I'm not sure how I would go about say, adding a date to all open documents. I've never done applescript before so it's a little trial and error.
Save it as type script (extension .scpt), and name it Document.documentDidOpen.scpt. Either save it directly, or move it subsequently, to the folder /Library/Application Support/BBEdit/Attachment Scripts/; if the folder doesn't exist, create it.
Try using BBEdit's 'Attaching Scripts to Menu Items' feature (p 295 of the v11 User Manual). In a nutshell, if you save a script to the Menu Scripts folder with a name based on the menu/command, then this script will run when that menu item is selected. So in your scenario:
I'm evaluating BBEdit at the moment.
I tried BBEdit some time ago, but TextMate seemed better at the time.
However after buying TextMate, I realised that it performs abysmally
over an nfs share, so I'm back to trying the BBEdit demo.The NFS issue is working very well in BBEdit, but I've a few questions
I hope someone can help with...1) Theres a way to open a folder in BBEdit, so that it appears as a
filelist on the left.
I know this because I've somehow managed to do it at some point, and
it appears in my Recently Opened list as (and this is the
only way I can open that folder currently)But I cant for the life of me figure out how to just open BBEdit, and
then open a folder, so I see all files in that folder.
This is how I like to develop, by just using a directory listing, not
with project files or anything complicated.Ive tried Open, but the mac Open File dialog doesnt let you select a
directory just a file.
Any advice please? Im guessing its simple, and Im just being a bit
blind :-(2) Im a bit confused what sort of editor BBEdit aims to be, if Im
honest?Most of the features seem to suggest its just a rich text/document
editor, since it has lots of paragraph and text related reformatting
options, and whilst it does have some neat options for coders, they
seem to take back stage and are tucked away.Then again, whilst coding PHP, it does seem to recognise functions,
provides autocomplete for them etc.
I'd love to hear how other people are using BBEdit, are there any
hardcore developers using it in preference to textmate?3) Ive read BBEdit has SVN support, but the guide I read suggested
enabling it in the options.
I couldnt find any mentiond of SVN in the options, and I see no
mention of SVN in the software itself.
Could you tell me what Im missing please? Does this only appear once
I've bought the software?
Im perfectly willing to buy, just Ive spent money already on TextMate
which wasnt suitable, so naturally Im a bit more keen to fully test
things before parting with yet more money.Thanks for any advice. Im not advocating TextMate over BBEdit, ann I
hope my thread doesnt come across that way. If anything, Id NOT
recommend it, at least for my purposes and way of workingThanks