Amazon.co.uk Widgets

Log in

X
BBEdit tweet

BBEdit has been around since the 90's. Don't let that put you off. If you are a web developer in particular it is powerful and supports a great authoring workflow. BBEdit is unashmedly aimed at pro HTML and text editing by writers and software developers alike. It is fast. Expected features like syntax highlighting for multiple languages are provided as you would expect, and support for Git, SFTP open and save, scripting, and markup tools make BBEdit a worthy tool for your macOS based computer. BBEdit fully supports Mac computers with Apple silicon. I am impressed. I set up an ssh connection to my server, and an ssh config file and BBEdit can open and save my file to the server, securely, encrypted in transit via ssh key, no password.

TL:DR – BBEdit is a proprietary text and code editor. Version 15 is downloadable from the App Store, or directly from Bare Bones Software. It features a MiniMap pallette, Cheat Sheets. Minimap. ChatGPT integration and more! I never really got along with BBEdit in the past, but decided to take another look chiefly because it is now a universal binary which means it fully supports Mac computers with Apple silicon introduced in late 2020. I'm glad I did. It's good!

Just take me to the link to download BBEdit

BBEdit (App Store)  Barebones Software Store

BBEdit 15 Features

Freemium

This software is a mature proprietary product. BBEdit offers a generous evaluation model in which its full feature set is available for the first 30 days of use. Advanced features are available with an in-app purchase for a small monthly fee, or an annual fee. At the end of the 30-day evaluation period, BBEdit will continue to run in Free Mode with a permanent feature set which includes its powerful editing capabilities, but not its web authoring tools or other exclusive features. BBEdit’s exclusive features may be re-enabled at any time with a purchased license. BBEdit has a comprehensive help manual and this helped me find the answers I wanted.

Main window, and Minimap palette 

As you can see I spent a little time setting up my favourite text colours for HTML code in the preferences. BBEdit is uncluttered with no distractions in the interface. Once completed I found it easy to use and fast to edit some content for this website. It is exactly as described - a professional text and code editor for macOS. Seems much better than last time I looked at it, which admittedly would have been ten years ago, and the first time I looked at it when it would likely have been on on System 6.0.4 or System 7! I'll keep it, and I've bought a licence rather than use the App Store version.

BBEdit 15 - Main Editor window
BBEdit 15 - Main Editor window
BBEdit 15 - Minimap palette
BBEdit 15 - Minimap palette

File Management

BBEdit supports projects folders, just open the folder. You can view directory listings and edit files on any mounted file system (local or remote), as well as Zip archives. BBEdit is also a can opener for files - you can open, edit, and save files on remote servers using SFTP, Open, edit, and save gzip (.gz) and bzip2 (.bz2) files, open and edit a single document in more than one window - changes are instantly reflected in any other window showing the same document, open multiple documents per window, have unlimited Undo/Redo, deal with DOS, Unix, Mac and Unicode encoding. Im sure theres more!

Cheat Sheets

Cheat sheets provide references to frequently used text or syntax elements. New in 15.x you can create your own. Lovely feature!

BBEdit - Markdown Cheat Sheet
BBEdit - Markdown Cheat Sheet
BBEdit - clippings placeholders Cheat Sheet
BBEdit - clippings placeholders Cheat Sheet

BBEdit AI with ChatGPT and more

You can have converstions in BBEdit directly, rather than switching or pasting from a web browser. You'll need an API key to use CHatGPT. I have yet to be able to make this function but its probably me.

BBEdit - AI Chat Worksheet Settings
BBEdit - AI Chat Worksheet Settings
BBEdit - AI Chat Instructions and Transparency
BBEdit - AI Chat Instructions and Transparency

Preview

BBEdit supports web developers well, not only is there extensice in built preview, including support for the WebKit Inspector for runtime inspection of pages, but you can easily open any or all your installed web browsers to test your work. This is such a timesaver.

BBEdit - Preview
BBEdit - Preview
BBEdit - Preview in all running browsers
BBEdit - Preview in all running browsers

Web development

There are so many web devleopment features in BBEdit to make things smoother or simplify your web development workflow that it is hard to list them all. As you gain experience and become a power user they seem second nature. It is worth the investment. Obvious things like dragging and dropping filed into a document to create a link might seem unimportant but are powerful. Close current Tag. How many times have you needed that? Syntax colouring and navigaiton make zipping around your document easy. And theres Syntax checking too! This is just scratching the surface of the functionality.

Source Code version control

BBEdit integrates access to Git and Subversion. I use Git, and can tell you it is transparent in use. Git can be complex but having the ability to add, edit, sync, commit, resolve conflicts and compare revisions right inside the editor is awesome.

BBEdit - Git Commit
BBEdit - Git Commit
BBEdit - Git Status
BBEdit - Git Status

 

BBEdit is a Universal application

This means it provides incredible performance on a Mac computer with Apple Silicon - all currently shipping Mac computers.

Get info for BBEdit showing it to be a Universal app which means it contains an Apple silicon binaryGet info for BBEdit showing it to be a Universal app which means it contains an Apple silicon binary
BBEdit About dialog box screenshotBBEdit About dialog box screenshot denotes Apple silicon support. Scroll down to find yourself in the list of contributors via an Easter Egg.
BBEdit Preferences screenshotBBEdit Preferences screenshot showing the extensive customisations possible to text colour. There are many other settings.

Advanced web authoring

A feature I found delightfully simple to set up but incredibly powerful is 'web authoring'. I need to be able to edit and save pages on a remote website at a web hosting company. BBEdit can open files directly from, and save them to, any available SSH File Transfer Protocol (SFTP) server. Most web hosting providers support SFTP. To use it choose Open from.../Save to... and check the SFTP box. A file opened via SFTP will appear in the Open Recent submenu with an sftp: URL, and a folder location can be bookmarked for easy repeat access. But you can make this even better and get rid of the annoying passwords without sacrificing security.

You'll need a key

To set this up for key based access with no passwords theres some command line work. Open a terminal and set up SSH preferences for your Mac so that you can authorise your Mac to access your web host. If youve already set up SSH skip past the code and copy the key to your server.

% cd ~/
% mkdir .ssh
% chmod go-rwx .ssh
% cd .ssh
% ssh-keygen -b 1024 -t rsa -f id_rsa -P ""

Generating public/private rsa key pair.
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
SHA256: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
The key's randomart image is:
+---[RSA 1024]----+
|     Omitted     |
+----[SHA256]-----+
%

You'll need to copy the public key to your server and authorise it

You'll need to copy the key to your server and authorise it. In cPanel, this is in SSH Access -> Import Key, and the key you want is the public key usually called id_rsa.pub

cPanel with an example showing where to paste the public key from your MaccPanel showing where to paste the public key from your Mac. You only need the public key. You can give it a useful memorable name if you have more than one.

Now use cPanel to 'Authorise' the key and this part is done!

Tell BBEdit how to use your key using a user specific SSH client config

One more piece of command line work. Open a terminal and create an SSH Config file for your Mac user which has all the details BBEdit needs to be able to open files on your web hosts server. This is a config just for this user, not for the whole system. Be careful to append your new server to this file if there is already data in there. SSH config files have been a standard part of SSH for decades. Often forgotten about, but really helpful in this case because once set up they simplify the editing operation so you can just open and save without having to deal with the server connectivity each time. There are far more complex examples. This should get you started.

% cd ~/.ssh
% cat config
Host nickname
     HostName name.of.your.site.com
     User username
     IdentityFile ~/.ssh/id_rsa

Open your SFTP server hosted file in BBEdit

Type the Host nickname you chose from your Config file into the 'Server' field in the BBEdit Open from.../Save to... dialog box, check the SFTP checkbox, and click connect. Your server should open without passwords but still securely and encrypted and only from your Mac, and only with your keys. You can bookmark this in BBEdit so that you can open it again easily.

BBEdit Open from.../Save to... dialog box screenshot with an example sftp hostBBEdit Open from.../Save to... dialog box screenshot with an example sftp host

Editing a file over SFTP in BBEdit

Now when you save you are saving over an encrypted connection direct to the file on your server. Use this new power responsibly!

BBEdit main screen screenshot with a php file loaded direct from an sftp server for editingBBEdit main screen screenshot with a php file loaded direct from an sftp server for editing


See also

OpenSSH Config File Examples, cPanel Docs — SSH Access

Licences, trademarks, source code licences and attributions

Licences, trademarks, source code licences and attributions

Multizone and this site is not affiliated with or endorsed by The Joomla! Project™. Any products and services provided through this site are not supported or warrantied by The Joomla! Project or Open Source Matters, Inc. Use of the Joomla!® name, symbol, logo and related trademarks is permitted under a limited licence granted by Open Source Matters, Inc. 928uk® is a trademark of Multizone Limited, registered in the UK. AdMob™, AdSense™, AdWords™, Android™, Chrome OS™, Chromebook™, Chrome™, DART™, Flutter™, Firebase™, Firestore™, Fuchsia™, Gmail™, Google Maps™, Google Pixel™, Google Play™, Pixelbook Go™, and Pixel™ and other trademarks listed at the Google Brand Resource center are trademarks of Google LLC and this site is not endorsed by or affiliated with Google in any way. Apple and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc. The OSI logo trademark is the trademark of Open Source Initiative. Microsoft, CoPilot, Microsoft 365, Microsoft Teams, and Windows are trademarks of the Microsoft group of companies. ROKU, the ROKU Logo, STREAMING STICK, ROKU TV, ROKU POWERED, the ROKU POWERED Logo, ROKU READY, the ROKU READY Logo, the purple fabric tag design,and the purple d-pad design are trademarks and/or registered trademarks of Roku, Inc. in the UK, the United States and other countries. UNIX® and the X® logo are registered trademarks of The Open Group. Any other product or company names may be trademarks™ or registered® trademarks of their respective holders. Use of these trademarks in articles here does not apply affiliation or endorsement by any of them.

Where the source code is published here on ezone.co.uk or on our GitHub by Angus Fox, Multizone Limited it is licenced according to the open source practice for the project concerned.

BSD 3-Clause "New" or "Revised" Licence
Original source code for mobile apps are licenced using the same licence as the one used by "The Flutter Authors". This Licence, the BSD 3-Clause "New" or "Revised" Licence (bsd-3-clause) is a permissive licence with a clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent.
GNU General Public Licence v2.0 or later
Original source code for Joomla! published here on ezone.co.uk by Angus Fox, Multizone Limited is licenced using the same licence as the one used by Joomla!. This Licence, the GNU General Public Licence Version 2 or later (gpl-2.0) is the most widely used free software licence and has a strong copyleft requirement. When distributing derived works, the source code of the work must be made available under the same licence.

You can use any code you find here, just respect the licences and dont use the name of this site or our company to promote derived products without written consent. I mean, why would you? You're not us!

Amazon Associate
As an Amazon Associate we earn from qualifying purchases.
Logo
Our Logo Image is by Freepik. We chose it because its an M and also the letter A twice - and that represents us.