If you’ve used nvALT for a while, you know that tagging in it is, well, broken. There’s no unified place to see all your tags, and tags can’t be searched exclusively. The nice thing that Zachary built into it is OpenMeta tagging, so if you store your notes as plain text files, you can search tags with Spotlight and any OpenMeta app. This, combined with the url handler, leads to some interesting possibilities.

The pair of apps that you can download below are Automator wrappers. They allow you to build a tag collection from your existing tags and generate a way to view them in a panel. Clicking a tag will reveal all of the notes which have that tag, and clicking a note will open it in nvALT.


First, you need to make sure you’re storing your notes as plain text files. Open Preferences in nvALT and go to the Notes tab (press Command-comma to open quickly):

Then run the “makeTagsList” application. It will first ask you what your default extension is. If you don’t know what it is, you can find it under Notes preferences in nvALT, also:

If you have multiple extensions in your notes folder, you can include additional ones separated by a space (e.g. “md mmd txt”). By default it will look for “md,” as well as “txt” and “taskpaper.”

Next, it asks you where your notes folder is. Point it to the folder you specified when you set up plain text storage in nvALT.

Give it a minute and it will gather all the existing tags and their associated files, and build an index in HTML and JavaScript. Note that it does load jQuery from the Google Ajax API, so you’ll need an Internet connection for the result to function properly.

When it’s finished, it will open Finder and show you where the resulting file is (in nvALT’s Application Support folder). Now you can run the other application, “nvTagNavigator,” and it will load that file automatically. It opens it in a floating HUD and you can click around to open tag collections and jump to notes in nvALT. Use the input field at the top to quickly filter the tag list as you type.

The HTML file will not update automatically; you’ll have to run makeTagsList once in a while to keep it up to date. You can schedule that to run daily or weekly using launchd (Lingon, LaunchControl) or just create a repeating iCal event that launches it. I won’t go into the gory details on that right now, but there are a few easy ways to make it happen.

I know it’s not a fix for nvALT’s tagging system, but I hope it’s a helpful stopgap.

nvTagNavigator v1.1

Collect and navigate your nvALT tag collection

Published 02/15/13.

Updated 02/15/13. Changelog

DonateMore info…