Advanced Features


It’s a sign that you’re really getting along when you can finish each other’s sentences. nvUltra has a some special features for autocompleting your thoughts.

Autocomplete Labels and Footnotes

In the nvUltra Preferences, Editing pane, under Smart editing features, you’ll find options for “Autocomplete labels” and “Autocomplete footnotes.” When one or both of these are turned on, nvUltra will keep track of what titles you use in link and footnote references, autocompleting them for you when it detects you’re adding a link or footnote marker.

For example, if you had the following in your document:

When you start to type a link, e.g. [text to link][], and your cursor is inside the second pair of square brackets, nvUltra will start offering you a list of existing links, narrowing it down as you type more characters.

Smart Autocomplete

nvUltra keeps track of words you’ve used in the current document, autocompleting those in addition to the standard dictionary. After the first time you’ve typed out an unusual word like “adscititious,” it’s in the dictionary. Start typing “ads”, hit the escape (or F5) key, and nvUltra will pop up a selection of completions for the word, including “adscititious”.

You can also edit the default dictionaries used by autocomplete to include completions in all of your documents automatically. In the nvUltra Preferences, Advanced pane, click the “Open Dictionaries Folder” button under Autocompletion. Dictionaries are text files with one word or phrase per line.

Text Expansion

Under the nvUltra Preferences, Advanced pane, you’ll find a section called “Text Expansion”. You can enable and disable the feature here, as well as determine whether expansion happens instantly when a snippet is typed, or requires a space/punctuation character to trigger.

To create your own expansions, click the button in the Preference pane labeled “Open Expansions Folder.” There you’ll find a Default.json file with some expansion examples that you can copy to a new file and start editing. The files are written in JSON, but even if you’re not familiar with JSON you can use the Default.json as a base to start adding your own.

Note that changes to expansions require closing the current window and re-opening to take effect.

Undo Mode

nvUltra can undo your typing actions the way you always would: hit ⌘Z and make your last edit disappear. But you can go one step further by changing your Undo Mode under the nvUltra Preferences, Advanced pane. There, you’ll choose between Regular Undo, and History Mode Undo.

To explain History Mode, we have to first look at how regular undo handles the undo history. If you make three edits, then undo them, once you type anything in the document, there’s no way to redo the other two things you just undid. They’re lost. With History Mode, if you undo the three changes, then type something, you can undo the most recent change and then still use undo/redo to move back to the changes you removed initially. Give it a try!

AppleScript Support

Using AppleScript, nvUltra can provide information about the current folder and selected note. Use it to integrate nvUltra with other apps and utilities.

tell application id "com.multimarkdown.nvultra"
    -- target the foreground window
    set _doc to document 1 
    -- Get the URL of the parent folder for the window
    get file of _doc
    -- Get the URL of the currently selected note
    get note of _doc
    -- Get an x-nvultra:// link to the currently selected note
    get note link of _doc
end tell

URL Handler

You can use the x-nvultra: URL handler to create links that open notebooks, and search and create notes.


(Compatible with the nvALT and Notational Velocity url handlers)

Start a search in the frontmost window with the txt parameter:


The method can also be called with a path instead of a query parameter:

(Compatible with the nvALT and Notational Velocity url handlers)
Create a new note with the specified text (and optional title)

If no title is provided, it will be created using the first line of the text


This method also accepts a notebook parameter which will open a specific folder in which to create the notebook. You can use forward slashes in the note name to create the note in a subfolder of the notebook.


Open and search in a specific notebook. Provide either a full path to a note, or separate notebook and note parameters:

This method is essentially a more full-featured version of the find method, allowing specification of the parent folder. The note parameter can be used like find’s txt parameter, setting the search without having to be an exact file match.

Next up: Keyboard Shortcuts

Search | Support Site | Legal | Privacy