BBEdit Blog Posts

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 draculatheme.com 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:

<p>
Unstanch Belgrade
</p>

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 alvinalexander.com 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.

KeyBoardMaestroBBEditKeys_sm.jpg
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

ShortcutActionDescription
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.
July 30, 2019

Other Apps

There are several other apps that I looked at as alternatives to EverNote. Here are some of my comments on them.

Bear

  • Easy to create Notes. But I don't see any special tagging or Notebook capabilities. Appears that using hashtags is how you label documents. Which is a bit of a problem since I don't want my documents to be full of hashtags.
  • No AppleScript support - I can't integrate this with BBEdit to easily backup files.
  • No PDF search support.
  • Cheap to support yearly plan - $14.99 yearly subscription.

Apple Notes

  • Web Clipper only save links to sites - no chance of offline reading.
  • Won't work with my Android tablet.
  • Weird that the first line of a new note isn't H1.
  • Nice that a lot of tools that I use in Pages is available - such as keyboard shortcuts and table layout.

Microsoft One Note

  • The weird thing that I found with One Note is that when I click the cursor around the page, that's where a new piece of content can go. Just seems that each page is just a page layout of a document and not a document.
  • Had a lot of good strong features for the price - feels like a Microsoft Word lite.

Google Keep

  • Doesn’t use the concept of Notebooks. Things are organized by tags. I think it’s harder to organize some notes and see what information I had in some categories.
  • Everything is online. Good luck creating a note when you have no Wifi connection. "Google Keep Offline is not available on Windows and macOS devices."
  • I did watch DottoTech's review of Google Keep, Simple and Clean Note-taking App 2018. I thought his review was a good insight to how Google Keep is better than Evernote. It's a good watch if your considering that as a switch.
July 12, 2019

Bootstrap 4 BBEdit Tools

Recently I upgraded the website from Bootstrap 3 to Bootstrap 4. This was a big upgrade as there were a lot of files that needed to get changed.

No more Panel or Wells

One of the biggest changes is that Bootstrap 4 no longer supports panels or Wells. Instead, Bootstrap 4 now puts emphasis on Card types.

Slight Problem

This site used both types extensively. Which means that I had to do multiple search and replace. So I would need to edit multiple files with various changes.

BBEdit TextFactory to the Rescue

Bootstrap Text Factory
Download the BootStrap 4 Text Factory File

BBEdit Text Factory is the only tool that I have found that will perform multiple Search/Replace on a group of files.

I simply created a TextFactory will all the search and replace rules and the run it against various files on my site. It was easy to set up and certainly made the migration a lot easier than I thought.

TextFactory File

If you're migrating to Bootstrap 4, from Bootstrap 3, you should download my TextFactory file. I think you'll find it helpful with the migration process.

To install this into BBEdit, simply double click on the BootStrap.textfactory file, it should open in BBEdit. Then save the file in the ~/Library/Application Support/BBEdit/Text Factory/ folder.

Make sure to check out all the various search/replace options. You may need to adjust them based on your how your files are set up. BBEdit has more information about using the Text Factory.


Bonus: BBEdit Text Clippings

BBEdit Bootstrap Clipping
Download the BBEdit Bootstrap Text Clipping Library

I put together 60 Text Clippings for BootStrap 4. I separated them into two groups, Bootstrap and Bootstrap Colors. These will make it easy to use BBEdit to edit and create Bootstrap files.

To install these clippings, simply download the BBEdit BootStrap 4 Clippings file. Unpack it and move the BootStrap and BootStrap Color folder to your Clippings Folder. The easiest way to find your BBEdit Clipping folder is to open BBEdit and select the Clipping Menu - it's the C next to Help. Then select the "Open Clipping Folder." Drag the folders to the Clipping Folder.

July 5, 2019

Managing the Mac Dock

The Apple Dock is a great central resource to launch popular applications. Back in 2016, I wrote a blog post of what applications I have in my dock and a way to add spacers to the dock.

My Dock needs have changed a lot since 2016, today my dock contains:

Google Chrome, FireFox, BBEdit, Brackets, Transmit, Evernote, Dayone, Notion, iTerm, Affinity Designer, Affinity Photo, PhotoScape X, Snagit 2018, LaunchBar, Keyboard Maestro, Slack, and Apple Mail.

Apple Dock Tips2

More Great Apple Doc Tricks

Here are some additional tips to manage your Apple Doc:

How to add a ‘Recent Applications’ folder to your Apple Dock

defaults write com.apple.dock persistent-others -array-add '{"tile-data" = {"list-type" = 1;}; "tile-type" = "file-tile";}'; killall Dock;

How to add a ‘Recent Items’ folder to your Apple Dock

defaults write com.apple.dock persistent-others -array-add '{"tile-data" = {"list-type" = 1;}; "tile-type" = "recents-tile";}'; killall Dock;

How to Highlight Hidden Applications

When you select to “hide application” the icon in the dock will be slightly transparent. So you know which Apps are hidden.

defaults write com.apple.Dock showhidden -bool yes; killall Dock;

Only Show Open Applications in Dock

When you only want to use the Dock to show active Applications. This is useful when your using LaunchPad or LaunchBar.

defaults write com.apple.dock static-only -bool true; killall Dock;

June 21, 2019

Brackets vs BBEdit

Adobe Brackets is becoming popular because it's open source and has a pretty active community writing some cool extensions. It's a pretty cool tool that makes it easy to edit code and text files.

Should you not upgrade BBEdit? Is it time to say goodbye to BBEdit?

While Brackets is pretty cool text tool, there's are some features that makes BBEdit still a strong resource for developers.

Bbedit Feature
Some BBEdit Features

Three things I like about BBEdit

Text Factory - Ability to save and reuse Search/Replace commands.

This is essential when you need to run multiple search/replace over multiple files. Text Factory allows you to perform 27 different action types - including running Unix Filter which essentially gives you a lot more options. This is a great way to clean up a large number of files.

Ability to Add Shortcuts to any Menu Item - You can add your own short cuts to any menu item. Which is great when you want to easily add HTML to any elements. Customizing menu options is every complex in Brackets.

In addition, you can easily customize what menu items display. So if you're not using Subversion, Git, or various HTML elements, you can remove them. Now your not distracted from getting things done, This is all done in a standard preferences window. In Brackets, you need to edit a json file to make configuration changes.

Search and Replace - The search and replace functionality has a lot more functionality: such as Grep, Search in Select Text and case sensitive.

In addition, you can extract matches, so if you're looking at a log file and want to see only lines matching certain phrases - it's a lot easier to do in BBEdit than Brackets.

BBEdit saves previous searches so you can reuse them later. There's a "history based" search - saving the last 16 searches, or you can save a common pattern to reuse later.

Bracks Screen Shot

Three things I like about Brackets

Split View - You can look at two files at once. This is great when your coding a new site and want to have a JavaScript or CSS file open up at the same time. While you can open two windows side-by-side in BBEdit, it's just easier to manager when everything is under one document window.

Emmet Support - Emmet makes it really easy to add new HTML. Emmet provides shortcuts to making HTML/CSS from classes and IDs. It's a must-have for anyone coding up a new HTML site.

There's lots of great short cuts to make coding HTML,CSS and JavaScript a whole lot easier

Multi Line Edit - You can make similar changes to multiple lines at the same time. This is convenient when your editing similar changes over multiple lines, for example adding a new CSS class to DIV.

June 16, 2019

Bootstrap 4

I am in the process of moving this site to use Bootstrap 4. Currently the site is built using Bootstrap 3.

Two major issues that I face with this upgrade:

No more Panels

In Bootstrap 4, panel feature is gone. I have used this just about every place on this site. I’ll be replacing all the Panels with Bootstrap Cards.

This also means that the random panel and random well are now legacy. I’ll replace them with a random card generator.

Legacy Bootstrap Template

I purchased a Bootstrap Template from Creative Market and this DESIGN won’t work under Bootstrap 4. Most likely I’ll come up with my own style.

, For now, the site will use the basic Bootstrap look and feel, I’ll migrate to different design later in July.

Looking Forward To the Migration

I am looking forward to updating the site look and feel and more excited about all the new features in Bootstrap 4. BBEdit makes it easy to do search and replace using Text Filters.

May 31, 2019

Dash

Dash is an Macintosh application that gives you local access to hundreds of documentations. You can download the documentations that you need and search for information.

Product Description

Dash is an API Documentation Browser and Code Snippet Manager. Dash stores snippets of code and instantly searches offline documentation sets for 200+ APIs, 100+ cheat sheets and more. You can even generate your own docsets or request docsets to be included.

Dash Mac Window Fun
Dash is a useful tool to have when your heads down on a project and want to stay focus when searching for programing help.

Nine Things I Learned About Dash

  1. The trial version has all the features of the full version, just will get notified to purchase everyone in a while. The full version cost $29.99 for all computers. (Not a yearly cost!)
  2. You can bookmark pages, making it easy to switch between documentations. (For example you can easily switch between MySQL and Postgres date formatting.)
  3. I found it really easy to search the FontAwesome icon collection. When updating a website icon set. You can't copy/past content like you can on Font Awesome's website, but it's certainly easier to use when you want to quickly add an icon.
  4. There is a snippet functionality, but I found that Keyboard Maestro has a lot more functionality.
  5. You can integrate Dash with Bbedit. What this does is link the BBEdit's "Find in Reference" command to Dash. Simply select any command, such as "mysqli_connect" and then right click and select "Find in Reference." Dash will open up with that search query. It's a great way to find more information about a particular command.
  6. There is an iOS app, that allows you to have remote access to your desktop Dash app. This is handy because search queries made in the desktop will now show in the iOS. This makes it easier to minimize Dash on the desktop and read the documentation when trying to implement a code.
  7. Some of the Documentations have a "playground" area, where you can test the code using CodePen.
  8. With some Docsets, you can specify the version of the doc. For example, you can download MySQL 5,5, 5.6, 5.7 or 8.0 docsets. (Yes you can download all of them if you want.)
  9. You can learn a lot from reading some of the available docsets. For example, there's a Docset called "You Might Not Need jQuery" which shows you similar ways to perform certain jQuery tasks.

Cool Feature to Add

One feature that would be cool to have is a personal code library; sort of like the snippets, but noninteractive. Just a place to store re-usable code - and searchable like any other Docset.