Evernote Mac Global Search

###MACRO: [EN] Evernote Global Search
~~~ VER: 1.1 2016-05-05 ~~~

on 2016-05-05 17:35 CT

[EN] Evernote Global Search.kmmacros (33 KB)

Author: @JMichaelTX
PURPOSE: Get EN Mac Search Terms from User, and Paste into EN Mac Search Block

• IF the User had made a text selection, it will be used as the EN Title Keyword.

• This KM macro may be executed from any Mac app. It will automatically switch/activate EN Mac and enter the Search box, leaving the cursor in the Search box so that the User can further edit if desired

• The EN Mac Search box uses incremental search, that executes a Search for every character you type.
• This most often results in a faulty search and delays the execution of the users intended search.
• This KM macro gets the entire User input for the Search Terms and then pastes into the EN Mac Search box.

(1) Import this KM macro into your KM macro library
(2) Change the Hot Key to trigger this macro, if desired
(3) Change the default value for the KM Variable "EN_Search_Terms", if desired.

(1) Press the Hot Key (Global: works from all apps)
(2) Enter the EN Search Terms
(3) Default is "intitle:" which is selected
(4) Type new Terms to replace
(5) Press Right-Arrow key and enter Text in Title

(1) Replaces EN Mac Search Box with User input
(2) Shows EN Mac Search drop-down so User can click on either "Everything" or the currently selected Notebook (if any).

(1) EN Mac
(2) Uses standard EN Mac shortcut key for Search


Minor update to the macro to make use of user’s selection (if any) in formulating the search terms for Evernote.

NOTE: Although I have set this up to default using the Evernote “intitle” search, you can easily change that to suit your preference.

I am working on a new global search macro.

I want to include more fields, some of which are essential (for me) such as stack: (which is case sensitive), notebook:, date created (to review the days's work) etc.

I am using your macro as a starting point and add more fields based on Evernote search grammar.

  1. is this macro the latest forum version of your approach to global search ? It's the latest I found in the forum.

  2. what is the syntax below which starts with a pipe sign?

  3. I have been working on this for the past few weeks and found that one absolutely essential feature is that I need to be able to search for partial notebook titles and even partial stack titles. It is part of a scheme whereby I keep notebooks with long titles which I will never remember, to which I would add a keyword with which I could use with notebook:

Example: notebook called KBM keyboard macro all reviews

I would change the title to KBM keyboard macro all reviews ^KR

And also – I would like to use a notebook search which would search through all notebooks with a certain word in the notebook name, for example all notebooks with KBM in name.


I have made a few minor tweaks to the version I am currently running.
If you'd like I can post it.

The pipe character, |, is needed at the start of the default value of a field in a KM Prompt for User Input action when the text entered is a KM Variable or Token.

Sorry, but the EN Search engine does NOT support searching for partial NB names, like:
notebook:"Start of NB Name*"
The asterick is NOT honored in this context, like it is with a tag:
tag:"Start of Tag name*"

This is one of several I always recommend short NB names, like "Active", ".Inbox", ".InWork", etc.
I also recommend short one-word (no spaces) Tag named, but if you must use a long Tag name then at least there is a way to search for a partial Tag name.


I forgot about the "Switch to..." menu item (View > Switch to), or CMD-J
This brings up a general interactive search that DOES support searching for part of a NB name. However, it is just ONE search term. IOW, you can't combine search for part of a NB name with a Tag, or Date, or anything else.

Not possible without AppleScript.

Again, not possible without AppleScript.
The EN Search engine will allow only ONE NB to be in the search.
The only workaround is if all of the NBs are in the same Stack.
Then you can search all NB in the Stack, but you still cannot search for parts of the NB name.

Going back to your opening statement, this is possible, but it would require a fairly complex KM Macro and Script.

I might suggest this as a simple workaround: type directly into the EN Search box, but have some KM Macros, or Typinator snippets, that help you.
For example, I have a TS of ";ti" that inserts "intitle:"keyword or phrase".
Not much, but saves me a few keystorkes.

I could do the same with Tags and Notebooks, and make use of a lookup for both that uses the KM Prompt with List that would allow you to easily search using any part of the Name of the Tag or NB.