Search

The Agenda view support search using free-text as well as by tags and scheduling dates by using search expressions.

You can combine free-text and search expressions at the same time to create an advance search query.

All todos that fullfil the search expressions will be shown.

Free-text search

When searching for words you can type them as you would expect and the search result will show all entries which contain the words in the header and/or body text.

The search is case insensitive.

If you type a string such as word1 word2 then it will match all entries which have the full exact string.

If you type a string such as word1 AND word2 then it will match all entries which have both words somewhere in it.

If you type a string such as word1 OR word2 then it will match all entries which have both either one of the words somewhere in it.

It's currently not possible to combine and AND and an OR search.

Tag search

You can search for todos which have one or more tags assigned by using the t. expression.

t.tag1 - Finds todos which have tag1 assigned

t.tag1 t.tag2 - Finds todos which have tag1 AND tag2 assigned.

The tag search will match on subsets, so if searching on t.tag will match todos which have either tag1 or tag2 assigned.

State search

You can search for a specific Todo state by using the i expression.

i.done - Finds todos with the state of DONE.

i.done i.canceled - Finds todos with the state of DONE OR CANCELED.

Priority search

You can search for a specific Todo priority by using the p expression.

p.a - Finds todos with a priority of A.

p.a p.b - Finds todos with a prio of A OR B.

Header Level search

You can search for a specific header level by using the l expression.

l.3 - Finds todos and headers on level 3 (Three asterisks (***)).

l.2 l.3 - Finds todos and header on level 2 OR level 3.

Search based on scheduling dates

You can search for deadline, scheduled, closed dates, created at dates and active timestamps (events).

s. - scheduled

d. - deadline

c. - closed

cr. - created at

e. - active timestamps (events)

You can search either by using a date such as 2021-12-20 or by using time periods such as 5 days 5d, 1 week 1w or 2 months ago -2m.

A negative period means in the past, while a positive period means in the future.

You can also combine the date/period with the 'less than or equal' le operator or the 'greater than or equal' ge operator. If le/geis omitted, the le will be used by default when searching using periods and eq when using a date.

There are also a few alias: today, tomorrow and yesterday. When using these aliases and if le/geis omitted, the eq will be used by default.

You can create time periods by combining two expressions for the same scheduling type such as s.ge.0d s.le.7d to get all Todos scheduled for the coming eight days, including today.

So combining this together we can compose the following examples:

s.2022-03-22 - Find todos which are scheduled on exactly 2022-03-22.

s.today - Find todos which are scheduled for today.

c.le.2022-03-22 - Find todos which were closed on or before 2022-03-22.

d.ge.2022-03-22 - Find todos which have a deadline on or after 2022-03-22.

s.2d - Find todos which are scheduled in two days or before.

s.le.2d - Same as above as le is default.

s.ge.2d - Find todos which are scheduled in two days or later.

s.le.-2d - Find todos which are scheduled two days ago or earlier.

s.ge.-2d - Find todos which are scheduled two days ago or later.

d.ge.-1w d.le.0d - Todos with deadline in the last 8 days including today.

d.ge.0d d.le.1w - Todos with deadline in the coming 8 days including today.

s.ge.2d t.docs search OR find - Todos scheduled two days or more from now with tag 'docs' and containing the word 'search' or 'find'.

Where:

d - day

w - week

m - month

y - year

TIP. If you are searching in the Calendar view and you do not get any hit, try switching to the agenda or List view instead as the Calendar view only shows a subset of your entries.