This package is a fork and rewrite of the now unpublished package nvatom. The general idea behind this package is to provide an embedded Notational Velocity-like note-taking feature for Atom users. This package is NOT affiliated with Notational Velocity.
Notational Velocity is an application that stores and retrieves notes. This package provides some similar features embedded directly in your Atom editor.
- Modeless Operation
- Incremental Search
- Mouseless Interaction
- Triggerable from outside Atom
Note: For interlink syntax highlighting, please install
Embedding these features in Atom provides the following advantages.
- Use Atom's Features - Such as Syntax Highlighting and Tree View.
- Use Other Packages - Such as Markdown Preview and Minimap.
- Multi-OS - You can use it in macOS, Linux, and Windows.
With no new updates to Notational Velocity in years, some users are searching for alternatives with more features. For example Evernote. We do not believe Evernote is a good alternative to Notational Velocity. Advantages over Evernote are:
- Open Source - Uses the MIT license.
- No Rich Text - Instead, you get to use Markdown!
- Sync Wherever You Want - You can save notes locally, in Dropbox, or in Google Drive.
Other solutions such as nvALT are stand-alone applications which don't have the same synergy with Atom as Atom Notes provides.
☁️ Synchronization / Cloud Storage
Most users prefer to have access to their notes from multiple computers. This is
not a feature of Atom Notes per se. Instead, please use your favorite
synchronization and/or cloud storage solution in conjunction with Atom Notes.
For example, if you store your notes in a directory managed by
Dropbox, then you will have all your notes available to you on any
machine you wish
This package does not by default provide any keyboard command shortcuts. There's
no way to know what keyboard shortcuts are even available on your machine. For
example, on my machine I could map the Toggle command to
if you have the popular
atom-script package installed on your machine, then
there would be a conflict because that package also wants to use that same
keyboard shortcut. However, all is not lost!
Atom itself already provides you with everything you need to
create your own custom keymaps. For example, the following
keymap.cson would add a shortcut for the
atom-notes Toggle command:
'atom-text-editor': 'shift-cmd-j': 'atom-notes:toggle'
Map any of the following commands to your own keyboard shortcuts as described above.
atom-notes:toggle: Toggle the search box.
atom-notes:toggle-preview: Toggle the search box, and automatically open Markdown files in preview.
atom-notes:interlink: Jumps to referred note when the cursor is on an
💥 Triggering from outside Atom
To add Atom Notes to the Apple Services menu and set a keyboard shortcut for use outside Atom use this Apple service. Then use your configured shortcut — see the section on Keybindings, above, for details on configuring a shortcut inside Atom — from inside or outside Atom to toggle the notes view.
Alternatively in macOS and Windows the URL
toggle the notes view. The command will operate in the front-most or most
recently active window or open a new one. It will start Atom if necessary. There
are many ways to automate this. For example, in macOS:
open atom://atom-notes/togglefrom the command line or a script.
- Use the Apple service mentioned above.
- Install Alfred (requires the Power Pack purchase) and the alfred-atom-notes workflow.
⚠️ Incompatible Package Error
In versions prior to
1.16.0, a dependency of Atom Notes used a native module
that required compilation for each specific version of Atom. This would cause
errors whenever Atom updated from one version to the next. You'd know this had
If you're on an old version, and see that, click on it and it will take you to
the Incompatible Packages settings in Atom. You can also bring it up by
running the command
Incompatible Packages: View from your Atom Command
Palette. You will see something like the following, depending on your current
All you need to do is click the Rebuild Packages button. If that doesn't work, please report the issue so I can investigate.
🔮 Future Work
This package is in active development and I'm willing to review your pull requests and triage any issues you're having. Please report your issues!
If you'd like to take a stab at improving this package, please check out the following list of possible improvements.
- Fix broken spec tests that fail because the test runner can't do async.
- Build a notes server to offload processing from the Atom editor.
- A better screencast animated gif.
- Any improvements to package activation time are welcome.
- Speed and usability improvements are also always welcome.
- Write more spec tests!
- Does it make sense to utilize etch somehow?
chokidarusage with Atom's new File Watch API.
- Rip out
DocQuerymatch returns nothing, fallback to
- Use async to ensure the notes directory exists in the background.
- Start loading documents in background at package activation time.
- Refactor autocomplete to be less hacky — add support to
Thanks goes to these wonderful people (emoji key):
Contributors to nvatom
This project follows the all-contributors specification. Contributions of any kind welcome!