Ulysses has a ton of really powerful search tools that allow you to drill down and find exactly what you’re looking for when you need it.
Search and Replace
If you are editing a Ulysses sheet you can search the contents of the individual sheet by hitting Command-F or selecting find from the find submenu under the edit menu. This will open up a search bar at the top of your sheet and you can type in your search term to find what you are looking for. For example, if I start typing the word search, Ulysses will highlight all the instances of that word in this particular sheet, and since this sheet is on search that happens to be quite a bit. There’s a number that appears in the search bar which shows me how many instances of the search term were found in the selected sheet, and I can cycle between the different instances of my search by clicking the forward and backward arrows in the search bar until I find the one that I’m looking for. You can also use find and replace to change all instances of the word or phrase.
For example, let’s say that I misspelled the term iOS and I used all lowercase letters when writing the iOS script. I can select the iOS sheet from the sheet list, hit Command-F to open the search bar, and click on the magnifying glass to make sure that Ignore Case is not selected since the case is actually what I want to fix. Then I’ll type ios in the search bar to find all the instances where I used improper capitalization. From here I can click the down arrow on the right of the search bar and it will open up the Find and Replace menu where I can type in the correct term, lowercase i followed by uppercase O and uppercase S. I can click Replace to change just the selected instance, or I can click All to quickly change all eight instances where I used the wrong capitalization.
Global / Group Search
Where things get real interesting is when you use the Search in Group feature to search the sheets currently visible in the sheet list. You can trigger this from the Find submenu under the Edit menu or by hitting Shift-Command-F. This opens up a search bar in the sheet list which looks pretty similar, but there’s more than meets the eye here because you can get very specific about where you are searching in your sheets. By default, the modifier is set to anywhere which will search all the selected sheets for whatever instances of your search term it can find, but you can change this to narrow down your results and help find exactly what you are looking for.
Group searches like this can be restricted to certain text elements such as top level headers that contain the search term or comments, even attached keywords or URLs. You can even make it easier to find what you’re looking for by ignoring case or ignoring diatrics, which are the special characters that appear on standard English characters like the é in résumé. You can instantly start filtering the sheets in the sheet list simply by selecting one of these search modifiers. For example, I can select unordered list, and Ulysses will instantly filter the sheets to display only sheets that actually contain an unordered list. If I select image and then title, I will only see sheets that have an image attached that contain a title. From here I can start typing in the search field and narrow down my search even further.
This is a very powerful and very fast way to find what you’re looking for in Ulysses. For example, let’s say I want to find the sheet with the link to the best pro writing app on The Sweet Setup. I can click the modifier and change anywhere to URL by going to the link submenu and selecting URL, but it still doesn’t show up because I currently have the Ulysses video project selected in the library pane. I can instantly increase the scope of my search and look through all of my sheets though by selecting all, and you’ll see that I now have a couple of options that show up including the one that I’m looking for right here which has the exact URL at the bottom of the sheet.
It’s really important that you understand how powerful these search features are. The more you use Ulysses the bigger your library becomes. You might have tens of thousands of sheets in your Ulysses library eventually, and if you were to search your entire library for all instances of a specific term, you might get hundreds of results that you’d need to look through in order to find the one thing that you were looking for. It’s like looking for a needle in a haystack of words, but because Ulysses uses plain text formatting it can search your entire library and return exactly what you’re looking for instantly.
So let’s say I wanted to find a specific sheet where I was writing about iOS. I could start by searching all of my sheets that contain the search term iOS anywhere in the sheet but that will return a ton of options, so I can instantly filter this to only the sheets that contain the keyword iOS by changing the modifier from anywhere to keyword, and I instantly have a handful of sheets now to look through instead of hundreds that only contain the phrase iOS as a keyword instead of all the sheets where those three letters appear somewhere in the sheet.