Wind turbines on the mountain

BBEdit icon, fair use via wikipedia

TL:DR— BBEdit 13.5 is a proprietary text and code editor which dates back to the early 90's. Version 13.5.6 now runs natively on Apple Silicon, and is downloadable from the App Store. It introduces a Markdown Cheat Sheet, internal performance improvements, support for “rescuing” untitled documents, and numerous additions and refinements designed to improve efficiency. In all, according to Bare Bones Software, version 13.5 includes more than a hundred new features, refinements to existing features, and fixes to reported issues. 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

BBEdit (App Store)  Barebones Software Store

BBEdit is a Universal application

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

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 USD 3.99 per month, or USD 39.99 per year. 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 edting screen

BBEdit main screen screenshot with an example html file loaded for editing with a customer text theme
BBEdit main screen screenshot with an example html file loaded for editing with a customer text theme

As you can see I spent a little time setting up my favourite text colours for HTML code in the preferences. It 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 Macs with Apple silicon. Seems much better than last time I looked at it, which admittedly would have been ten years ago! I'll keep it.

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 Mac
cPanel 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 host
BBEdit 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 editing
BBEdit 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