Find and Replace, a screenwriter’s best friends

Since the early days, I’ve been using Find and Replace to take care of small issues in scripts. For example, I change the location in a series of scene headers. Or I’ll search for two spaces and replace them with one, because I’m now a one-spacer.

Today, I came upon a new use for Find and Replace.

In Fountain, you can leave notes for yourself by surrounding them in double brackets [[like this]]. These notes don’t show up when you print or export, so it’s fine to leave them in your script.

But sometimes, you want the notes to print. David Wain wrote me this afternoon:

I’d love to be able to send a PDF of my Fountain script that looks like a screenplay, but still has the bracketed notes inline so the reader can see all info in the document.

A super-simple way to do this is to get rid of the closing brackets on those notes. That way, they’ll print as action lines.

Just do a Find/Replace. Search for ]], and replace them with nothing. If you don’t want the opening [[, just search for those and replace them with nothing -- or maybe something like "Note: "

This technique works in any text editor. But if you'd like a little more power, there's now a better way.

Highland 1.7 has new find-and-replace talents that can do much more sophisticated matching.

screenshot of find

Using the pattern above, you can change out double brackets for double asterisks all in one pass. Your notes will print in the script as bold action lines.

Here's how to do it.

First off, save your document. Better saved than sorry, and you'll want a version that keeps your notes all note-like.

Do a Find (⌘F).

The pattern you're looking for is [[(any random text)]]. The brackets are easy. Matching the text between them has traditionally been more difficult.

Highland now has a wildcard token called (Any). You can find it by clicking the magnifying glass and choosing Insert Pattern from the menu.

screenshot insert pattern

In the next menu, choose “Any Characters.”

screenshot insert

Your find field should now be [[(Any)]].

Tick the Replace checkbox on the right. In the next field, you tell Highland what you want it to put in place of what you found.

Let’s start with two asterisks. Then put another (Any) token. You can get it from the same Insert Pattern menu, or just copy-paste it from the line above.1 Finally, put another two asterisks so the whole line gets bold formatting.

Click the All button to replace all of the notes in the script. Those bracketed notes are now bolded action lines.

The options in the magnifying glass are useful for other things as well.

  • By unchecking Ignore Case, you can match TOM versus Tom. To swap out a character’s name, do one pass for TOM, another for Tom.
  • Use Full Word in order to match “ant” but not “antagonize.”
  • The find menu lists recent searches, saving you a step.

Finally, one of my favorite features in Highland 1.7 is the faceless Find Again. Even when the Find field is closed, ⌘G will repeat your last search. It’s a handy way to hop through your script.

Almost all of this functionality comes for free with Mac OS. It’s one of the reasons it’s not easy to port Highland directly over to Windows or Linux or a web-based application.

  1. Behind the scenes, this is done with regular expressions. If you copy-and-paste this (Any) token, you’ll find it works in many Mac apps, even ones that use older Find dialog boxes.

Why do people buy apps some days and not others?

Every day, I check to see how many apps we sold the day before. Every day, I’m surprised.

Week-to-week, we tend to sell about the same number of apps, but the variability day-to-day is higher than I would have expected, and doesn’t seem to follow obvious cycles. Highland rises and falls without much relationship to the day of the week.


Weekend Read has an in-app purchase allowing for an unlimited library. People aren’t buying it just for the weekend.


Stranger still, the sales of Highland and Final Draft seem entwined.


Why did both apps suddenly climb last week? For Highland, it might be because of my recent blog post, but why would Final Draft have matched its ascent? (Still, it’s nice to see Highland overtaking Final Draft at times.)

As I said at the beginning: week-to-week, it tends to average out. And a statistician would probably be able to look at the p-value and explain that it all falls within an expected range of variability. But I still wonder why it each day is so different.

Checking batches of PDFs

Last week, I wondered aloud how I could check creator codes on a folder full of PDFs without checking them one-by-one.

Zoë Blade wrote in with a Terminal command, but it turns out I could do it in Automator very easily. Here’s the workflow.

automator workflow

Why didn’t I try Automator first? Past experience.

Over the years, I’ve tried doing a dozen things in Automator, only to run into obstacles where it can’t do quite what I need. Often, the breakdown is conditional logic, or the need to transfer a value from one section to the next.1

This is the rare case where Automator does almost exactly what I want. I’ve saved this workflow as an application so I can periodically test batches of files.

  1. Having played with other building-block environments like Scratch, I know it’s absolutely possible to do logic and variables in a drag-and-drop way, but I have a feeling Automator isn’t getting updated.

Photoplays and archetypes

Scriptnotes: Ep. 143

In a wide-ranging episode, Craig and John look at a 1912 screenwriting book, Levinson’s beef with the WGA, and the Periodic Table of Storytelling.

We also answer listener questions about keeping secrets from readers, firing managers, and what happens to a Broadway show after Broadway. Plus, more follow-up on old One Cool Things.

There are still (maybe?) tickets for the live show on the 15th. See the links for details.


You can download the episode here: AAC | mp3.

UPDATE 5-16-14: The transcript of this episode can be found here.

Which apps are screenwriters using?

We had 57 entries for the Three Page Challenge we’re conducting on May 15th.

I wondered which apps these screenwriters were using, so I checked the metadata for each file.1

App # of Entries % of Total
Final Draft 8 18 32%
(unclear)2 7 12%
Fade In 7 12%
Final Draft (Windows) 6 11%
Slugline 5 9%
Final Draft 9 4 7%
Screenwriter 3 5%
Celtx 2 4%
Final Draft 7 2 4%
Highland 1 2%
TextEdit 1 2%
Word 1 2%
Total 57 100%

Adding up its various incarnations, we find that Final Draft created just over half the entries. That’s about what I would have expected.

But I find it interesting that so many users have stuck with Final Draft 8, rather than version 9. There are still holdouts with version 7 as well.

I was happy to see six dedicated screenwriting apps (Final Draft, Fade In, Slugline, Screenwriter, Celtx and Highland) among the entrants. I didn’t find any Adobe Story or WriterDuet scripts.3

Writers submitting to the Three Page Challenge are, almost by definition, listeners to the Scriptnotes podcast, in which we’ve discussed Final Draft, Fade In, Slugline and Highland among other apps. I wonder to what degree that has influenced their choices.

Three Page Challengers are also generally aspiring screenwriters, rather than working pros. To me, that makes entrants more likely have recently purchased software (or web-based subscription services) than established writers, who tend to stick with what they know.

The online submission for Three Page Challenges worked well enough that we’ll keep using some version of it. In the next incarnation, we’ll ask upon submission which app the writer used.

  1. Mac Nerds: After a lot of Googling, I couldn’t find a way to display creator information for each file in a folder; I had to do them one-by-one using Finder’s Get Info. If you have a command-line trick for this, I’d love to know it.
  2. The (unclear) category is for PDFs that don’t have a recognizable creator. For example, some PDFs show up as being from Preview on the Mac, which is primarily a reader but can be used to paste together multiple files.
  3. If you submitted a script written in Adobe Story or WriterDuet, let me know and I’ll amend the figures.