date of the oldest matched message in the thread, and the subject from
that message.
-Currently, the supported search terms are as follows, (where
-<brackets> indicate user-supplied values):
+Currently, in addition to free text (and quoted phrases) which match
+terms appearing anywhere within an email, the following prefixes can
+be used to search specific portions of an email, (where <brackets>
+indicate user-supplied values):
+
+ from:<name-or-address>
+
+ to:<name-or-address>
+
+ subject:<word-or-quoted-phrase>
tag:<tag>
+
id:<message-id>
+
thread:<thread-id>
+The from: prefix is used to match the name or address of the sender of
+an email message.
+
+The to: prefix is used to match the names or addresses of any
+recipient of an email message, (whether To, Cc, or Bcc).
+
+Any term prefixed with subject: will match only text from
+the subject of an email. Quoted phrases are supported when
+searching with: subject:\"this is a phrase\".
+
Valid tag values include
.BR inbox " and " unread
by default for new messages added by
shell, (such as by putting quotation marks around any parenthesized
expression).
.TP
-.BR show " <thread-ID>"
+.BR show " <search-term>..."
-Show the thread with the given thread ID.
+Shows all messages matching the search terms.
-Displays each message in the thread on stdout.
+See the documentation of
+.B search
+for details of the supported syntax of search terms.
-Thread ID values are given as the first column in the output of the
-"notmuch search" command. These are the random-looking strings of 32
-characters.
+A common use of
+.B notmuch show
+is to display a single thread of email messages. For this, use a
+search term of "thread:<thread-id>" as can be seen in the first
+column of output from the
+.B notmuch search
+command.
+
+All messages will be displayed in date order. The output format is
+plain-text, with all text-content MIME parts decoded. Various
+components in the output,
+.RB ( message ", " header ", " body ", " attachment ", and MIME " part ),
+will be delimited by easily-parsed markers. Each marker consists of a
+Control-L character (ASCII decimal 12), the name of the marker, and
+then either an opening or closing brace, ('{' or '}'), to either open
+or close the component.
.RE
The
"\t\tNote that the individual mail messages will be matched\n"
"\t\tagainst the search terms, but the results will be the\n"
"\t\tthreads containing the matched messages.\n\n"
- "\t\tCurrently, in addition to free text (and quoted phrases\n"
- "\t\tthe following prefixed search terms are supported, (where\n"
- "\t\t<brackets> indicate user-supplied values):\n\n"
+ "\t\tCurrently, in addition to free text (and quoted phrases)\n"
+ "\t\twhich match terms appearing anywhere within an email,\n"
+ "\t\tthe following prefixes can be used to search specific\n"
+ "\t\tportions of an email, (where <brackets> indicate user-\n"
+ "\t\tsupplied values):\n\n"
"\t\t\tfrom:<name-or-address>\n"
"\t\t\tto:<name-or-address>\n"
"\t\t\tsubject:<word-or-quoted-phrase>\n"