BBEdit Blog Posts

December 25, 2019

Release Note Easter Eggs

BBedit Release Notes are always filled with hidden humor. On this Christmas Day, I thought I highlight a couple of Christmas references.

BBEdit 9.6.2 Release Notes

OMG did you see the Christmas episode of "Glee"? Was that awesome, or what?

BBEdit 10.1.1 Release Notes

Fixed a bug in which typing at the end of a line would fail to scroll the insertion point into view as it should have. Merry Christmas, Jim.

Have A Merry Christmas!

I hope everyone had a great Christmas and Santa brought everything on their shopping

December 18, 2019

Text Status Bar items

At the bottom of every BBEdit Window is a Status Bar. This bar contains some quick information about the current document.

BBEdit refers this as the Text Status Bar items

BBEdit Text Status Bar Items

These are the items that are available in the Text Status Bar. They are all enabled by default. This is the order that they appear in the bottom of the window, from left to right.

You can remove any item in the Text Status Bar by going under Preferences, then Appearance then unchecking the items under the "Text Status Bar items."

Cursor Position - The current location of the Cursor. It shows the line and character position. When you click on the Cursor Position numbers you can enter in a line number to "jump to." This is useful when navigating a large file, or when you're debugging a code issue on a particular line.

Language - This shows the current selected language. Clicking on the Language allows you to change the language type. BBedit uses this to determine how to map out the colors in the document.

Text Encoding - This is the document encoding. This is used to determine how to handle special characters. Click on the current encoding to change it. For most documents, the Unicode (UTF-8) should be fine.

Line Break Type - This is the line break format used in the current document. Most Macintosh users should stick with the Unix (LF) but if you get a document from Window users you will see it's in Windows (CRLF).

Document Lock State - This tells you if the current document is locked or not. You would lock a document if you don't want any changes being made. In addition, you may encounter lock documents because your user doesn't have write permissions on that file.

Document Save Date - Just the last saved date of the document. The only want to change this is to... well save the document. Sorry Marty McFly, you can't change the past in BBEdit.

Document Statistics - This is where you find out how many characters, Words, and Lines are being used in this particular document. Very useful when opening up a large document and wanting to know the size. Clicking on the numbers opens up a pop-up dialog box where you see the numbers with the title text and some additional information about that document such as Write Permissions and the location. When you select text the Document Statistics will display information about the active selection.

Magnification - This shows the text current magnification level. Click on the number that allows you to change the document magnification level. This is the only place to change the magnification level. In the Preferences, you can change the default magnification from 100% to any amount you want.

Assign Short Cuts

You can assign short cuts to many of the Text Status Bar items. Simply open up Preferences, then Menus & Shortcuts, then select the "Status Bar."

You'll see that Open Language Menu (Control Option L) and Open Text Encoding Menu (Control Option E) already have short cuts assigned to them.

If these are items that you don't think you'll use too much, remove the short cut and assign it to something that you may use more.

December 11, 2019

Navigation Bar

On top of the editing window is a small navigation bar. I usually ignore it. However, I thought I look into the features of the Navigation Bar and see if there's anything that might be useful for my use.

BBEdit Description

The navigation bar is a panel at the top of a text window that provides controls for selecting the active document and for moving to specific points with the current document. To hide the navigation bar, choose Hide Navigation Bar in the View menu, or turn off the Navigation Bar options in the Appearance preference panel.

Five Things I Learned about the Navigation Bar

You can simplify the items that appear in the Navigation Bar in the Preferences Panel -> Appearance. (For example, if you're not using the Functions pulldown menu, you can disable that.) Everything is enabled by default.

The Text Options icon, the gear icon, is a quick way to get access to common text settings. Items that are selected here only apply to the exiting editing window. If you want to make a change that impacts all open windows, use the Text Display menu (View -> Text Display)

The Counterparts option (square icon) is an easy way to navigate related files. One neat thing is that it will show similar text files in a directory. Simply click on the icon and you'll see files in the directory that the file is saved in.

The Markers functionality is a good way to manage a large document. If you're debugging a log file, you can set a Marker, continue scrolling, and easily get back to the placeholder. In 13.0, you can open up the Markers window (Go -> Markers) and see all the available markers in your current active document.

As of BBEdit 13.0.3, there are no "extra" advance features available for the Navigation Bar.

December 4, 2019

Lorem Ipsum in BBEdit

BBEdit has built-in Lorem Ipsum placeholder text. This is useful when you want to text but don't have the official version from Marketing.

Lorem Ipsum is located under the Edit Menu -> Insert -> Lorem Ipsum

B B Edit Insert Menu

Three Styles

You have three styles for your Lorem Ipsum content:

  • Normal - Typical Lorem Ipsum used since the 1960s.
  • Bacon - From the Baconipsum website: "Simply put, it’s a take on the lorem ipsum filler text used when doing design mockups. I was mocking up a web design one day and needed a few words to fill out a link. “Lorem ipsum bacon” popped into my head, so I plugged that into my HTML. Later that day, it hit me. Make a lorem ipsum generator but use types and cuts of meat."
  • Startup - From the Startupsum website: "Less boring. Slightly more relevant. A perfect blend of being professional and having fresh filter content."

Three Types

  • Words - Perfect when you want a filler word for a list item.
  • Sentences - Need a sentence for an image caption?
  • Paragraphs = Great when your trying to make it look like you wrote a lot of text. Using the "Start up" on the company about page is a neat trick.

B B Edit Preferences

Cool Tip!

You can add a short-cut to Lorem Ipsum. In fact, when you go to the Menu & Shortcuts section of Preferences, you'll see a second "Lorem Ipsum" without the "..." This repeats the last Lorem Ipsum action. I would recommend adding a Keyboard Shortcut such as Command Shift L.

November 27, 2019

Unix Worksheet

One of the neat features of BBEdit is the Unix Work Sheet. This is available when you right-click on the icon in the dock.

This is where you can execute common shell commands, simply by selecting the line and typing Control Return.

What makes this extra special is that when you right-click on the BBEdit icon in the dock and select "Show Unix Worksheet" you see the same document.

This means that you can save common Unix Commands and execute them whenever you want, without having to open up the terminal application and typing the commands.

B B Edit Unix Work Sheet

Sample Command

If you have imagemagick installed, you can create a empty graphic file using the convert command.

cd Desktop
convert -size 1200x628 xc:white blogimage.jpg

If you have ffmpeg installed, this is a cool trick to convert an ordinary audio file to a wave movie for YouTube.

ffmpeg -i Cleaning.m4a -filter_complex "[0:a]showwaves=s=1920x1080:mode=cline,format=yuv420p[v]" -map "[v]" -map 0:a -c:v libx264 -c:a copy Medicare1080.mp4

Again by keeping these and other common Unix Command in the Unix WorkSheet, they can be at your disposal whenever you need it.

November 20, 2019

Modify Multiple Lines

BBEdit 13 still doesn't support multiple line edits. This makes it a bit challenging when you want to change a lot of text.

For example, if I want to add a bullet point to multiple lines, it would be time-consuming to add it.

Simple Solution

I found the easy way to do this is to:

  • Select the lines to perform the actions
  • Open the Search/Replace Dialog box Command - F
  • Then apply the following Search/Replace commands (See screenshot)

Search Replace Bullet

Here's a break down on what's happening:

In the Find:

BBEdit searching for all the content on the line from the start (^) to the end ($). Its saving the content to the matching group.

In the Replace:

On each line there will now be a dash. The (1) is the matching of the find command.

The key thing is to make sure that the "Search In:" has the "Selected text only" enabled.

Don't Forget to Save!

I would recommend saving this search query. This is done by click on the 'g' and select the "Save..." at the bottom.

I would recommend using "Add Dash to Each Line" as the name - so it will be easier to find.

November 13, 2019

Quicksilver string ranking

As I was looking through the BBEdit's User Manual, one thing that caught my eye is the mention of "Quicksilver string ranking." This is only mentioned once in the document - in the Copyrights section and no place else.

This got me curious - just what is the "QuickSilver String Ranking" and why did BBEdit choose to use that Library.

QuickSilver BBEdit

What is QuickSliver

Quicksilver is a launcher utility app for Mac OS X which gives you the ability to perform common, every-day tasks rapidly and without thought.

Introduced in BBEdit 11

I had some old BBEdit User Manual and found the first mention of the "QuickSilver String Ranking" was in BBEdit 11. One of the Release Note's "New Feature" in BBEdit 11 mentions this:

There's a new feature: "Highlight instances of selected text". When you select something (that doesn't consist entirely of whitespace or punctuation), all of the occurrences of the selection are underlined; and the new pair of commands on the Search menu ("Next Occurrence of ", "The previous Occurrence of ") can be used to navigate the occurrences. (This navigation is independent of the text searching UI, although the string is added to the search history for convenience of future use.)

I believe that this is the purpose of the "QuickSilver String Ranking."

QuickSilver Code in GitHub

There's is this code example on quicksilver_score.php on GitHub, which gives a lot more insight to how the QuickSilver string ranking.
November 6, 2019

BBEdit sFTP Client

BBEdit has a light FTP client included within the application. This is useful when you need to make modifications to a file, and don't want to install/buy a third-party tool.

If your going to do a lot of remote file manipulation, I would recommend Panic's Transmit. It's a good companion tool to use with BBEdit.

BBEdit FTP Sample

Five Things I have Learned

BBEdit only supports SFTP and FTP protocols. If you're using Amazon S3, Box, Microsoft Azure or other protocols you'll need a third-party solution. (Although most cloud providers do offer the ability to connect vis sftp.)

Option Clicking on a folder will open the folder in a new FTP Browser. You can't drag and drop files between FTP Browser windows.

Once you connect to a location, you can add the existing viewing directory as a Bookmark, simply use the pull-down menu on the top of the FTP Browser window and select "Add Bookmarks." Additionally, you can access the Bookmarks manage section by going under the BBEdit menu and select "Setup..." Then Select the Bookmarks and then click on the '+' to add a new Bookmark. (You can add Emojis to the name of the Bookmark so that it sands out.)

You can edit a Bookmark simply by going to the Bookmark manager and then Double Clicking on the name to edit it.

When working with Project Files, you can configure the Deployment to upload the files to your FTP server.

October 30, 2019

Haunted Mansion Color Scheme

Wahoo! Halloween is tomorrow.

What better way to celebrate the season with a BBEdit Color scheme.

Dracula Theme

Zeno Rocha created a dark theme called Dracula for various editors - including BBEdit.

Dracula Theme

You can download the dark theme from the site.

Disney Haunted Mansion Theme

I created a Color scheme based on the colors of Disney's Haunted Mansion.

Haunted Mansion BBEdit

Some Notes: The background is Black, The Line Color is Dark Green, Highlight text is purple.

Download the BBEdit's Haunted Mansion Color Theme.

Installing the Theme

Simple instructions on how to install your Halloween inspired theme.

  • Download the files
  • Unzip the files
  • Find your Application Support/BBEdit/Color Schemes/ directory. The "easy way" is via the BBEdit Menu. Select BBEdit -> Folders -> Color Schemes
  • Copy the file bbColorScheme into the Color Schemes directory
October 23, 2019

BBEdit Completion Data

In BBEdit, there's a little known feature called "Completion Data." This allows developers to put in common language-specific auto-complete text, which makes writing similar code so much easier.

Basically it makes it quicker to type in common function, class or variable names.

Completion Datab
Completion Data Folder location inside of BBEdit. Also an example of Completion Data in action.

How it Works

There is a folder in BBEdit called "Completion Data" that contains text files of common text used in your code. These are organized by folders by language types. So you would only see the relevant auto-complete suggestion for the language that your currently coding.

If you never used "Completion Data" chances are this folder is empty. The collection is using the standard ctags format.

Bare Bones makes it easy to create the ctags collection, you simply use the BBEdit command-line tool.

Creating your Completion Data Collection

Here's the simple steps to create your own Completion Data collection. This example will build on JavaScript:

In Terminal, Change Directory to where you have a lot of JavaScript Files.

Run the following command:

bbedit --maketag

In your directory you'll see a new file called tags, this is the output of the above command. Go ahead and check it out in BBEdit.

Make a new folder in ~/Library/Application Support/BBEdit/Completion Data/ and call it JavaScript and move the tag file to that directory. (or just type this piece of code)

mkdir ~/Library/Application Support/BBEdit/Completion Data/JavaScript
mv tags ~/Library/Application Support/BBEdit/Completion Data/JavaScript

Now when you type something in a JavaScript file, you'll get some autocomplete suggestions based on previous code that you used.

Some Notes

You can have multiple tag files under each language, for example tags1, tags2 etc...

The language folder names have to match what you see in the bottom of the edit, such as HTML, Ruby, Markdown etc...

The "fastest" way to access the "Completion Data" folder is to use the BBEdit Menu BBEdit -> Folders -> Completion Data.

Code autocomplete is a similar concept to spelling autocomplete, basically saving typing a few characters.

"Completion Data" isn't something that your always going to do. Basically useful to have setup up every once in a while.

October 16, 2019

HTML Paragraphs in BBEdit

In BBEdit, you can select a line and then apply the HTML Paragraph tag. It's a simple common task that HTML developers will use over and over.

The problem is, the paragraph tag gets applied to the line before and after the selected text:

Unstanch Belgrade

I would rather have the tag be applied on the same line:

<p>Unstanch Belgrade</p>

Hidden Config Settings

This can be done by changing a little known expert settings to get the above results. Copy/Paste the following in terminal:

defaults write com.barebones.bbedit HTMLParagraphMarkup_ParagraphsOnSeparateLines -bool NO 

If you find you like it how it works by default:

defaults write com.barebones.bbedit HTMLParagraphMarkup_ParagraphsOnSeparateLines -bool YES 

Now when you apply the paragraph command to any selected text it won't add the paragraph tags on the separate lines.

October 9, 2019

BBEdit Version 13

Last Week Bare Bones shipped the latest version of BBEdit 13. The last major upgrade shipped on October 12, 2017.

This release has a lot of new features and bug fixes. (33 Additions!) Version 13 is not an unlucky number! Here are some of the ones that I found useful.

B B Edit13 Macintosh

Key Features with 13

There are a lot of changes in this release. Here are just some of the highlights of the changes that I noticed in this release. (Check out my review of BBEdit 12.)

Pattern Playground
Pattern Playground

Pattern Playground

Now it's easier to create the perfect regular expression statements!

Simply open up the Pattern Playground, and literally play around with regular expressions.

Once you find the perfect pattern, you can save the search pattern to be used whenever you need.

The Search Pattern isn't a "Match All" in the Content Area. It's simply a place to freely write regular expressions with some feedback. So if you are trying to apply a pattern to multiple lines, you would need to do that using the find command.

The "Use for Find" will copy your search pattern into the Find dialog box regardless if you have the dialog box open or not.

The Pattern Playground is located under the Search menu and the File->New menu.

Grep Cheat Sheet

Next to Find, File Search, Pattern Playground is a new popup menu. This is a quick in-product help with Regular Expressions. You can get some hints on how to match character strings.

Note: The BBEdit document also has some great Regular Expression tips too. (Nothing new in version 13)

Rectangular Selection

Retangular selection is when you hold down the option key and draw a rectangular selection for modification.

In previous releases, when you have text "Soft Wrap" enabled you couldn't use rectangular selection. You would have to disable the "Soft Wrap" in order to use rectangular selection.

Now if you have "soft wrap" enabled, and you use rectangular selection you'll see that the actual text gets selected and not the wrapped line.

B B Edit Find
Live Search and the Grep Cheat Sheet

Live Search now in Find Window

When you search for text using the Find command match commands now will be highlighted. In previous releases, you would use the "Live Search" to see matched items.

Apply Text Transformation

There's a new menu item in the Text group called "Apply Transform."

This allows you to quickly add a text transformation without the need to build a Text Factory file.

This is useful if you want to quickly add one of a number of text actions quickly. This is also a good introduction to the power of using BBEdit's Text Factory feature.

Clippings Pallet

The Clippings Pallet now displays hierarchically. This means when you open the Clipping Pallet, you don't see all the clippings at once. Instead, now you see the main folder groups of your clippings.

This simple change makes the Clippings Dialog to not look so overwhelming when you open it.

The other minor change is that the Keyboard Shortcut is right to align, making it easy to see which Clippings have shortcuts assigned to them.

Getting BBEdit 13

You can download a trial version of BBEdit from their website. You'll have 30 days to try out all the features.

October 2, 2019

BBEdit Command Line Tools

BBEdit has some shell commands which allows integration between the MacOS Shell and BBEdit. There are four commands:

  • bbedit - Allows you to export commands to be viewed/edited in BBEdit.
  • bbdiff - Makes it easy to compare two files.
  • bbfind - Use BBEdit powerful find feature to perform multi-file searches.
  • bbresults - Easily read formated error outputs in BBEdit results window.

Here are some creative ways to make use of the BBEdit command-line tools.

Four Sample BBEdit Commands

Directory Listing

List the current directory by file size (in Bytes). The results will display in BBEdit in a new window with the Unix Shell Script settings.

ls -lahS | bbedit -m "Unix Shell Script"

Largest Files on Your Computer

Thanks to on this tip "How to find the largest size file on your computer." I modified it so it outputs to BBEdit so that it's easier to read.

du -a * | sort -r -n | head -100 | bbedit -t "Top 100 Largest Size Files"

Find Files

A simple example which: Finds all the MP3 files and open the list in BBEdit with a window title called "MP3 Files." This has an extra bit of code to suppress

find / -name "*.mp3" 2>&1 | grep -v "Permission denied" | bbedit -t "MP3 Files"

Find Content

Use the bbfind command to search through files on your computer. In this case, search for the word "Confidential" in all the files in the /Users directory.

bbfind -nw "Confidential" /Users

That last command would be fun to run to see what files are marked Confidential on your computer.

August 30, 2019

Keyboard Maestro Command in BBEdit

I have been using BBEdit as my daily note tool. Why BBEdit? Here are my three reasons:

Three Reasons I use BBEdit as a Note Tool

  • Clean Simple Interface. I have it set as the "Right third" of the screen, and add notes when needed.
  • I use Markdown as my note formating - so I can focus on notes and not formating. At the end of the day, I can easily import to DayOne, or Evernote (For Evernote, I preview the contents in BBEdit and then copy/paste the contents of the preview into Evernote.)
  • I have BBEdit always open, so why not just use it.

Keyboard Maestro Implementation

Part of the problem with using BBEdit is that I don't need to see the Line Numbers or Gutter tool. BBEdit allows you to assign keyboard shortcuts, but I need to type in two separate commands.

Thankfully, with Keyboard Maestro, I can create a one-step command to show/hide the the Gutter and Line numbers. Note: This is more of a proof of concept than a real issue that was bothering me - can I create a Keyboard Maestro to trigger two menu item at once.

Keyboard Maestro Macro

This is the Keyboard Maestro Macro that I have setup so that it will Show/Hide the Line Numbers and Gutters.

Click on image for a larger version.

Some Notes:

  • I set this up so that I type the same command to Hide/Show the Gutters/Numbers.
  • I have this in a Group so this command only works in BBEdit. That way I don't mistype the command in another application.
  • It was a bit tricky to figure out how to set up the condition statement with application menus.
  • I need to wait a few seconds before hiding/Show command. I can't quickly Hide/Show. Not sure if the issue is with BBEdit or Keyboard Maestro. But if I type in the shortcut fast twice, I'll get an error.

Download the Macro

If you have Keyboard Maestro you can download the Macro. It will save time typing in all the above information.

Default Language as Markdown

Since I start my day with using Markdown in BBEdit, I changed the BBEdit Settings to default every new document to Markdown. This is simple config change done using the Terminal Editor.

Simply open up Apple Terminal or iTerm and paste the following:

defaults write com.barebones.bbedit DefaultLanguageNameForNewDocuments -string "Markdown"

August 16, 2019

BBEdit Shortcuts

BBEdit is one of my favorite applications. I have tried other applications, but more often I come back to the power and flexibility that BBEdit provides.

I have a lot of shortcuts set up to make it easy to use. This is the list of the most popular shortcuts that I use every day.

B B Edit Desktop

Top Ten Keyboard Shortcuts

Save Current Selection as a ClippingThis quickly creates a BBEdit Clipping. BBEdit Clippings are snippets that appear as I am typing words. These save a lot of time typing the same thing over and over. I can go into the Clipping Folder to remove them if I don't think I'll use it again. This comes in handy when I am working on a short term project and need to type a name or phrase over and over.
Preview in BBEditBy default, Command-P is Print. I find that in BBEdit I don't print that often. However, I do preview a lot, so I changed the default Print option to Preview, as I am more likely want to preview a page than Print. This is very helpful when previewing
ScratchPadSometimes I just need to jot something quick down.
Live SearchQuickly find something on the page. Note the search matches are highlighted on the right of the window, making it easy to scroll to find similar matches. Simply type the shortcut and then search.
Backup FileI created an AppleScript which basically sends the the contents of the current window to Evernote. This is a super quick way to back up files. No more backup files cluttering the desktop.
Zap GremlinsRemove any unwanted characters that may cause problems. For example the curly brackets that Microsoft Word creates. The text is replaced with ASCII equivalent.
Show/Hide SideBarBBEdit automatically opens the sidebar when you have more than one file open - such as working on a project. Sometimes the sidebar can be distracting.
Hide/Show Line NumberUsually I have line numbers on by default, but when I am writing Markdown, line numbers don't cut it. So this is useful when I don't want to see them.
Hide/Show GutterSometimes having a gutter is useful, sometimes it's not. Usually I combine the Gutter/Line numbers actions. That's why I have the shortcuts setup with one off numbers.
Process Lines ContainingGreat way to filter out a log file. I can extract the lines that I care about into another file.