mutt stable branch with some hacks
1'\" t
2.\" -*-nroff-*-
3.\"
4.\" Copyright (C) 1996-2000 Michael R. Elkins <me@cs.hmc.edu>
5.\" Copyright (C) 1999-2000 Thomas Roessler <roessler@does-not-exist.org>
6.\"
7.\" This program is free software; you can redistribute it and/or modify
8.\" it under the terms of the GNU General Public License as published by
9.\" the Free Software Foundation; either version 2 of the License, or
10.\" (at your option) any later version.
11.\"
12.\" This program is distributed in the hope that it will be useful,
13.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
14.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15.\" GNU General Public License for more details.
16.\"
17.\" You should have received a copy of the GNU General Public License
18.\" along with this program; if not, write to the Free Software
19.\" Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20.\"
21.de EX
22.nf
23.ft CW
24..
25.de EE
26.ft
27.fi
28..
29.TH muttrc 5 "September 2002" Unix "User Manuals"
30.SH NAME
31muttrc \- Configuration file for the Mutt Mail User Agent
32.SH DESCRIPTION
33.PP
34A mutt configuration file consists of a series of \(lqcommands\(rq.
35Each line of the file may contain one or more commands. When
36multiple commands are used, they must be separated by a semicolon
37(\(lq\fB;\fP\(rq).
38.PP
39The hash mark, or pound sign (\(lq\fB#\fP\(rq), is used as a
40\(lqcomment\(rq character. You can use it to annotate your
41initialization file. All text after the comment character to the end
42of the line is ignored.
43.PP
44Single quotes (\(lq\fB'\fP\(rq) and double quotes (\(lq\fB"\fP\(rq)
45can be used to quote strings which contain spaces or other special
46characters. The difference between the two types of quotes is
47similar to that of many popular shell programs, namely that a single
48quote is used to specify a literal string (one that is not
49interpreted for shell variables or quoting with a backslash [see
50next paragraph]), while double quotes indicate a string which
51should be evaluated. For example, backticks are evaluated inside of
52double quotes, but not single quotes.
53.PP
54\fB\(rs\fP quotes the next character, just as in shells such as bash and zsh.
55For example, if want to put quotes (\(lq\fB"\fP\(rq) inside of a
56string, you can use \(lq\fB\(rs\fP\(rq to force the next character
57to be a literal instead of interpreted character.
58.PP
59\(lq\fB\(rs\(rs\fP\(rq means to insert a literal \(lq\fB\(rs\fP\(rq into the
60line. \(lq\fB\(rsn\fP\(rq and \(lq\fB\(rsr\fP\(rq have their usual
61C meanings of linefeed and carriage-return, respectively.
62.PP
63A \(lq\fB\(rs\fP\(rq at the end of a line can be used to split commands over
64multiple lines, provided that the split points don't appear in the
65middle of command names.
66.PP
67It is also possible to substitute the output of a Unix command in an
68initialization file. This is accomplished by enclosing the command
69in backticks (\fB`\fP\fIcommand\fP\fB`\fP).
70.PP
71UNIX environment variables can be accessed like the way it is done in shells
72like sh and bash: Prepend the name of the variable by a dollar
73(\(lq\fB\(Do\fP\(rq) sign.
74.PP
75.SH COMMANDS
76.PP
77.nf
78\fBalias\fP [\fB-group\fP \fIname\fP [...]] \fIkey\fP \fIaddress\fP [\fB,\fP \fIaddress\fP [ ... ]]
79\fBunalias\fP [\fB * \fP | \fIkey\fP ]
80.fi
81.IP
82\fBalias\fP defines an alias \fIkey\fP for the given addresses. Each
83\fIaddress\fP will be resolved into either an email address (user@example.com)
84or a named email address (User Name <user@example.com>). The address may be specified in either format, or in the format \(lquser@example.com (User
85Name)\(rq.
86\fBunalias\fP removes the alias corresponding to the given \fIkey\fP or
87all aliases when \(lq\fB*\fP\(rq is used as an argument. The optional
88\fB-group\fP argument to \fBalias\fP causes the aliased address(es) to be
89added to the named \fIgroup\fP.
90.PP
91.nf
92\fBgroup\fP [\fB-group\fP \fIname\fP] [\fB-rx\fP \fIEXPR\fP [ \fI...\fP ]] [\fB-addr\fP \fIaddress\fP [ \fI...\fP ]]
93\fBungroup\fP [\fB-group\fP \fIname\fP ] [ \fB*\fP | [[\fB-rx\fP \fIEXPR\fP [ \fI...\fP ]] [\fB-addr\fP \fIaddress\fP [ \fI...\fP ]]]
94.fi
95.IP
96\fBgroup\fP is used to directly add either addresses or regular expressions to
97the specified group or groups. The different categories of arguments to the
98\fBgroup\fP command can be in any order. The flags \fI-rx\fP and \fI-addr\fP
99specify what the following strings (that cannot begin with a hyphen) should be
100interpreted as: either a regular expression or an email address, respectively.
101\fBungroup\fP is used to remove addresses or regular expressions from the
102specified group or groups. The syntax is similar to the \fBgroup\fP command,
103however the special character \fB*\fP can be used to empty a group of all of
104its contents.
105.IP
106These address groups can also be created implicitly by the \fBalias\fP, \fBlists\fP,
107\fBsubscribe\fP and \fBalternates\fP commands by specifying the optional \fI-group\fP
108option.
109.IP
110Once defined, these address groups can be used in patterns to search for and limit the
111display to messages matching a group.
112.PP
113.nf
114\fBalternates\fP [\fB-group\fP \fIname\fP] \fIregexp\fP [ \fIregexp\fP [ ... ]]
115\fBunalternates\fP [\fB * \fP | \fIregexp\fP [ \fIregexp\fP [ ... ]] ]
116.fi
117.IP
118\fBalternates\fP is used to inform mutt about alternate addresses
119where you receive mail; you can use regular expressions to specify
120alternate addresses. This affects mutt's idea about messages
121from you, and messages addressed to you. \fBunalternates\fP removes
122a regular expression from the list of known alternates. The \fB-group\fP flag
123causes all of the subsequent regular expressions to be added to the named group.
124.PP
125.nf
126\fBalternative_order\fP \fItype\fP[\fB/\fP\fIsubtype\fP] [ ... ]
127\fBunalternative_order\fP [\fB * \fP | \fItype\fP/\fIsubtype\fP] [...]
128.fi
129.IP
130\fBalternative_order\fP command permits you to define an order of preference which is
131used by mutt to determine which part of a
132\fBmultipart/alternative\fP body to display.
133A subtype of \(lq\fB*\fP\(rq matches any subtype, as does an empty
134subtype. \fBunalternative_order\fP removes entries from the
135ordered list or deletes the entire list when \(lq\fB*\fP\(rq is used
136as an argument.
137.PP
138.nf
139\fBauto_view\fP \fItype\fP[\fB/\fP\fIsubtype\fP] [ ... ]
140\fBunauto_view\fP \fItype\fP[\fB/\fP\fIsubtype\fP] [ ... ]
141.fi
142.IP
143This commands permits you to specify that mutt should automatically
144convert the given MIME types to text/plain when displaying messages.
145For this to work, there must be a
146.BR mailcap (5)
147entry for the given MIME type with the
148.B copiousoutput
149flag set. A subtype of \(lq\fB*\fP\(rq
150matches any subtype, as does an empty subtype.
151.PP
152.nf
153\fBmime_lookup\fP \fItype\fP[\fB/\fP\fIsubtype\fP] [ ... ]
154\fBunmime_lookup\fP \fItype\fP[\fB/\fP\fIsubtype\fP] [ ... ]
155.fi
156.IP
157This command permits you to define a list of "data" MIME content
158types for which mutt will try to determine the actual file type from
159the file name, and not use a
160.BR mailcap (5)
161entry given for the original MIME type. For instance, you may add
162the \fBapplication/octet-stream\fP MIME type to this list.
163.TP
164\fBbind\fP \fImap1,map2,...\fP \fIkey\fP \fIfunction\fP
165This command binds the given \fIkey\fP for the given \fImap\fP or maps
166to the given \fIfunction\fP. Multiple maps may be specified by
167separating them with commas (no whitespace is allowed).
168.IP
169Valid maps are:
170.BR generic ", " alias ", " attach ", "
171.BR browser ", " editor ", "
172.BR index ", " compose ", "
173.BR pager ", " pgp ", " postpone ", "
174.BR mix .
175.IP
176For more information on keys and functions, please consult the Mutt
177Manual. Note that the function name is to be specified without
178angle brackets.
179.TP
180\fBaccount-hook\fP [\fB!\fP]\fIregexp\fP \fIcommand\fP
181This hook is executed whenever you access a remote mailbox. Useful
182to adjust configuration settings to different IMAP or POP servers.
183.TP
184\fBcharset-hook\fP \fIalias\fP \fIcharset\fP
185This command defines an alias for a character set. This is useful
186to properly display messages which are tagged with a character set
187name not known to mutt.
188.TP
189\fBiconv-hook\fP \fIcharset\fP \fIlocal-charset\fP
190This command defines a system-specific name for a character set.
191This is useful when your system's
192.BR iconv (3)
193implementation does not understand MIME character set names (such as
194.BR iso-8859-1 ),
195but instead insists on being fed with implementation-specific
196character set names (such as
197.BR 8859-1 ).
198In this specific case, you'd put this into your configuration file:
199.IP
200.B "iconv-hook iso-8859-1 8859-1"
201.TP
202\fBmessage-hook\fP [\fB!\fP]\fIpattern\fP \fIcommand\fP
203Before mutt displays (or formats for replying or forwarding) a
204message which matches the given \fIpattern\fP (or, when it is
205preceded by an exclamation mark, does not match the \fIpattern\fP),
206the given \fIcommand\fP is executed. When multiple
207\fBmessage-hook\fPs match, they are executed in the order in
208which they occur in the configuration file.
209.TP
210\fBfolder-hook\fP [\fB!\fP]\fIregexp\fP \fIcommand\fP
211When mutt enters a folder which matches \fIregexp\fP (or, when
212\fIregexp\fP is preceded by an exclamation mark, does not match
213\fIregexp\fP), the given \fIcommand\fP is executed.
214.IP
215When several \fBfolder-hook\fPs match a given mail folder, they are
216executed in the order given in the configuration file.
217.TP
218\fBmacro\fP \fImap\fP \fIkey\fP \fIsequence\fP [ \fIdescription\fP ]
219This command binds the given \fIsequence\fP of keys to the given
220\fIkey\fP in the given \fImap\fP or maps. For valid maps, see \fBbind\fP. To
221specify multiple maps, put only a comma between the maps.
222.PP
223.nf
224\fBcolor\fP \fIobject\fP \fIforeground\fP \fIbackground\fP [ \fIregexp\fP ]
225\fBcolor\fP index \fIforeground\fP \fIbackground\fP [ \fIpattern\fP ]
226\fBuncolor\fP index \fIpattern\fP [ \fIpattern\fP ... ]
227.fi
228.IP
229If your terminal supports color, these commands can be used to
230assign \fIforeground\fP/\fIbackground\fP combinations to certain
231objects. Valid objects are:
232.BR attachment ", " body ", " bold ", " error ", " header ", "
233.BR hdrdefault ", " index ", " indicator ", " markers ", "
234.BR message ", " normal ", " prompt ", " quoted ", " quoted\fIN\fP ", "
235.BR search ", " signature ", " status ", " tilde ", " tree ", "
236.BR underline .
237If the sidebar is enabled the following objects are also valid:
238.BR sidebar_divider ", " sidebar_flagged ", " sidebar_highlight ", "
239.BR sidebar_indicator ", " sidebar_new ", " sidebar_spoolfile .
240The
241.BR body " and " header
242objects allow you to restrict the colorization to a regular
243expression. The \fBindex\fP object permits you to select colored
244messages by pattern.
245.IP
246Valid colors include:
247.BR white ", " black ", " green ", " magenta ", " blue ", "
248.BR cyan ", " yellow ", " red ", " default ", " color\fIN\fP .
249.PP
250.nf
251\fBmono\fP \fIobject\fP \fIattribute\fP [ \fIregexp\fP ]
252\fBmono\fP index \fIattribute\fP [ \fIpattern\fP ]
253.fi
254.IP
255For terminals which don't support color, you can still assign
256attributes to objects. Valid attributes include:
257.BR none ", " bold ", " underline ", "
258.BR reverse ", and " standout .
259.TP
260[\fBun\fP]\fBignore\fP \fIpattern\fP [ \fIpattern\fP ... ]
261The \fBignore\fP command permits you to specify header fields which
262you usually don't wish to see. Any header field whose tag
263\fIbegins\fP with an \(lqignored\(rq pattern will be ignored.
264.IP
265The \fBunignore\fP command permits you to define exceptions from
266the above mentioned list of ignored headers.
267.PP
268.nf
269\fBlists\fP [\fB-group\fP \fIname\fP] \fIregexp\fP [ \fIregexp\fP ... ]
270\fBunlists\fP \fIregexp\fP [ \fIregexp\fP ... ]
271\fBsubscribe\fP [\fB-group\fP \fIname\fP] \fIregexp\fP [ \fIregexp\fP ... ]
272\fBunsubscribe\fP \fIregexp\fP [ \fIregexp\fP ... ]
273.fi
274.IP
275Mutt maintains two lists of mailing list address patterns, a list of
276subscribed mailing lists, and a list of known mailing lists. All
277subscribed mailing lists are known. Patterns use regular expressions.
278.IP
279The \fBlists\fP command adds a mailing list address to the list of
280known mailing lists. The \fBunlists\fP command removes a mailing
281list from the lists of known and subscribed mailing lists. The
282\fBsubscribe\fP command adds a mailing list to the lists of known
283and subscribed mailing lists. The \fBunsubscribe\fP command removes
284it from the list of subscribed mailing lists. The \fB-group\fP flag
285adds all of the subsequent regular expressions to the named group.
286.TP
287\fBmbox-hook\fP [\fB!\fP]\fIregexp\fP \fImailbox\fP
288When mutt changes to a mail folder which matches \fIregexp\fP,
289\fImailbox\fP will be used as the \(lqmbox\(rq folder, i.e., read
290messages will be moved to that folder when the mail folder is left.
291.IP
292The first matching \fBmbox-hook\fP applies.
293.PP
294.nf
295\fBmailboxes\fP \fIfilename\fP [ \fIfilename\fP ... ]
296\fBunmailboxes\fP [ \fB*\fP | \fIfilename\fP ... ]
297.fi
298.IP
299The \fBmailboxes\fP specifies folders which can receive mail and which will
300be checked for new messages. When changing folders, pressing space
301will cycle through folders with new mail. The \fBunmailboxes\fP
302command is used to remove a file name from the list of folders which
303can receive mail. If "\fB*\fP" is specified as the file name, the
304list is emptied.
305.PP
306.nf
307\fBmy_hdr\fP \fIstring\fP
308\fBunmy_hdr\fP \fIfield\fP
309.fi
310.IP
311Using \fBmy_hdr\fP, you can define headers which will be added to
312the messages you compose. \fBunmy_hdr\fP will remove the given
313user-defined headers.
314.TP
315\fBhdr_order\fP \fIheader1\fP \fIheader2\fP [ ... ]
316With this command, you can specify an order in which mutt will
317attempt to present headers to you when viewing messages.
318.TP
319\fBsave-hook\fP [\fB!\fP]\fIpattern\fP \fIfilename\fP
320When a message matches \fIpattern\fP, the default file name when
321saving it will be the given \fIfilename\fP.
322.TP
323\fBfcc-hook\fP [\fB!\fP]\fIpattern\fP \fIfilename\fP
324When an outgoing message matches \fIpattern\fP, the default file
325name for storing a copy (fcc) will be the given \fIfilename\fP.
326.TP
327\fBfcc-save-hook\fP [\fB!\fP]\fIpattern\fP \fIfilename\fP
328This command is an abbreviation for identical \fBfcc-hook\fP and
329\fBsave-hook\fP commands.
330.TP
331\fBsend-hook\fP [\fB!\fP]\fIpattern\fP \fIcommand\fP
332When composing a message matching \fIpattern\fP, \fIcommand\fP is
333executed. When multiple \fBsend-hook\fPs match, they are executed
334in the order in which they occur in the configuration file.
335.TP
336\fBsend2-hook\fP [\fB!\fP]\fIpattern\fP \fIcommand\fP
337Whenever a message matching \fIpattern\fP is changed (either by
338editing it or by using the compose menu), \fIcommand\fP
339is executed. When multiple \fBsend2-hook\fPs match, they are
340executed in the order in which they occur in the configuration file.
341Possible applications include setting the $sendmail variable when a
342message's from header is changed.
343.IP
344\fBsend2-hook\fP execution is not triggered by use of
345\fBenter-command\fP from the compose menu.
346.TP
347\fBreply-hook\fP [\fB!\fP]\fIpattern\fP \fIcommand\fP
348When replying to a message matching \fIpattern\fP, \fIcommand\fP is
349executed. When multiple \fBreply-hook\fPs match, they are executed
350in the order in which they occur in the configuration file, but all
351\fBreply-hook\fPs are matched and executed before \fBsend-hook\fPs,
352regardless of their order in the configuration file.
353.TP
354\fBcrypt-hook\fP \fIregexp\fP \fIkey-id\fP
355The crypt-hook command provides a method by which you can
356specify the ID of the public key to be used when encrypting messages
357to a certain recipient. The meaning of "key ID" is to be taken
358broadly: This can be a different e-mail address, a numerical key ID,
359or even just an arbitrary search string.
360You may use multiple
361\fBcrypt-hook\fPs with the same \fIregexp\fP; multiple matching
362\fBcrypt-hook\fPs result in the use of multiple \fIkey-id\fPs for
363a recipient.
364.PP
365.nf
366\fBopen-hook\fP \fIregexp\fP "\fIcommand\fP"
367\fBclose-hook\fP \fIregexp\fP "\fIcommand\fP"
368\fBappend-hook\fP \fIregexp\fP "\fIcommand\fP"
369.fi
370.IP
371These commands provide a way to handle compressed folders. The given
372\fBregexp\fP specifies which folders are taken as compressed (e.g.
373"\fI\\\\.gz$\fP"). The commands tell Mutt how to uncompress a folder
374(\fBopen-hook\fP), compress a folder (\fBclose-hook\fP) or append a
375compressed mail to a compressed folder (\fBappend-hook\fP). The
376\fIcommand\fP string is the
377.BR printf (3)
378like format string, and it should accept two parameters: \fB%f\fP,
379which is replaced with the (compressed) folder name, and \fB%t\fP
380which is replaced with the name of the temporary folder to which to
381write.
382.TP
383\fBpush\fP \fIstring\fP
384This command adds the named \fIstring\fP to the keyboard buffer.
385.PP
386.nf
387\fBset\fP [\fBno\fP|\fBinv\fP|\fB&\fP|\fB?\fP]\fIvariable\fP[=\fIvalue\fP] [ ... ]
388\fBtoggle\fP \fIvariable\fP [ ... ]
389\fBunset\fP \fIvariable\fP [ ... ]
390\fBreset\fP \fIvariable\fP [ ... ]
391.fi
392.IP
393These commands are used to set and manipulate configuration
394variables.
395.IP
396Mutt knows four basic types of variables: boolean, number, string
397and quadoption. Boolean variables can be \fBset\fP (true),
398\fBunset\fP (false), or \fBtoggle\fPd. Number variables can be assigned
399a positive integer value.
400.IP
401String variables consist of any number of printable characters.
402Strings must be enclosed in quotes if they contain spaces or tabs.
403You may also use the \(lqC\(rq escape sequences \fB\\n\fP and
404\fB\\t\fP for newline and tab, respectively.
405.IP
406Quadoption variables are used to control whether or not to be
407prompted for certain actions, or to specify a default action. A
408value of \fByes\fP will cause the action to be carried out automatically
409as if you had answered yes to the question. Similarly, a value of
410\fBno\fP will cause the the action to be carried out as if you had
411answered \(lqno.\(rq A value of \fBask-yes\fP will cause a prompt
412with a default answer of \(lqyes\(rq and \fBask-no\fP will provide a
413default answer of \(lqno.\(rq
414.IP
415The \fBreset\fP command resets all given variables to the compile
416time defaults. If you reset the special variable \fBall\fP, all
417variables will reset to their compile time defaults.
418.TP
419\fBsource\fP \fIfilename\fP
420The given file will be evaluated as a configuration file.
421.PP
422.nf
423\fBspam\fP \fIpattern\fP \fIformat\fP
424\fBnospam\fP \fIpattern\fP
425.fi
426.IP
427These commands define spam-detection patterns from external spam
428filters, so that mutt can sort, limit, and search on
429``spam tags'' or ``spam attributes'', or display them
430in the index. See the Mutt manual for details.
431.TP
432\fBunhook\fP [\fB * \fP | \fIhook-type\fP ]
433This command will remove all hooks of a given type, or all hooks
434when \(lq\fB*\fP\(rq is used as an argument. \fIhook-type\fP
435can be any of the \fB-hook\fP commands documented above.
436.PP
437.nf
438\fBmailto_allow\fP \fIheader-field\fP [ ... ]
439\fBunmailto_allow\fP [ \fB*\fP | \fIheader-field\fP ... ]
440.fi
441.IP
442These commands allow the user to modify the list of allowed header
443fields in a \fImailto:\fP URL that Mutt will include in the
444the generated message. By default the list contains only
445\fBsubject\fP and \fBbody\fP, as specified by RFC2368.
446.SH PATTERNS
447.PP
448In various places with mutt, including some of the above mentioned
449\fBhook\fP commands, you can specify patterns to match messages.
450.SS Constructing Patterns
451.PP
452A simple pattern consists of an operator of the form
453\(lq\fB~\fP\fIcharacter\fP\(rq, possibly followed by a parameter
454against which mutt is supposed to match the object specified by
455this operator. For some \fIcharacter\fPs, the \fB~\fP may be
456replaced by another character to alter the behavior of the match.
457These are described in the list of operators, below.
458.PP
459With some of these operators, the object to be matched consists of
460several e-mail addresses. In these cases, the object is matched if
461at least one of these e-mail addresses matches. You can prepend a
462hat (\(lq\fB^\fP\(rq) character to such a pattern to indicate that
463\fIall\fP addresses must match in order to match the object.
464.PP
465You can construct complex patterns by combining simple patterns with
466logical operators. Logical AND is specified by simply concatenating
467two simple patterns, for instance \(lq~C mutt-dev ~s bug\(rq.
468Logical OR is specified by inserting a vertical bar (\(lq\fB|\fP\(rq)
469between two patterns, for instance \(lq~C mutt-dev | ~s bug\(rq.
470Additionally, you can negate a pattern by prepending a bang
471(\(lq\fB!\fP\(rq) character. For logical grouping, use braces
472(\(lq()\(rq). Example: \(lq!(~t mutt|~c mutt) ~f elkins\(rq.
473.SS Simple Patterns
474.PP
475Mutt understands the following simple patterns:
476.P
477.PD 0
478.TP 12
479~A
480all messages
481.TP
482~b \fIEXPR\fP
483messages which contain \fIEXPR\fP in the message body.
484.TP
485=b \fISTRING\fP
486messages which contain \fISTRING\fP in the message body. If IMAP is enabled, searches for \fISTRING\fP on the server, rather than downloading each message and searching it locally.
487.TP
488~B \fIEXPR\fP
489messages which contain \fIEXPR\fP in the whole message.
490.TP
491~c \fIEXPR\fP
492messages carbon-copied to \fIEXPR\fP
493.TP
494%c \fIGROUP\fP
495messages carbon-copied to any member of \fIGROUP\fP
496.TP
497~C \fIEXPR\fP
498messages either to: or cc: \fIEXPR\fP
499.TP
500%C \fIGROUP\fP
501messages either to: or cc: to any member of \fIGROUP\fP
502.TP
503~d \fIMIN\fP-\fIMAX\fP
504messages with \(lqdate-sent\(rq in a Date range
505.TP
506~D
507deleted messages
508.TP
509~e \fIEXPR\fP
510messages which contain \fIEXPR\fP in the \(lqSender\(rq field
511.TP
512%e \fIGROUP\fP
513messages which contain a member of \fIGROUP\fP in the \(lqSender\(rq field
514.TP
515~E
516expired messages
517.TP
518~f \fIEXPR\fP
519messages originating from \fIEXPR\fP
520.TP
521%f \fIGROUP\fP
522messages originating from any member of \fIGROUP\fP
523.TP
524~F
525flagged messages
526.TP
527~g
528PGP signed messages
529.TP
530~G
531PGP encrypted messages
532.TP
533~h \fIEXPR\fP
534messages which contain \fIEXPR\fP in the message header
535.TP
536~H \fIEXPR\fP
537messages with spam tags matching \fIEXPR\fP
538.TP
539~i \fIEXPR\fP
540messages which match \fIEXPR\fP in the \(lqMessage-ID\(rq field
541.TP
542~k
543messages containing PGP key material
544.TP
545~l
546messages addressed to a known mailing list (defined by either \fBsubscribe\fP or \fBlist\fP)
547.TP
548~L \fIEXPR\fP
549messages either originated or received by \fIEXPR\fP
550.TP
551%L \fIGROUP\fP
552messages either originated or received by any member of \fIGROUP\fP
553.TP
554~m \fIMIN\fP-\fIMAX\fP
555message in the range \fIMIN\fP to \fIMAX\fP
556.TP
557~n \fIMIN\fP-\fIMAX\fP
558messages with a score in the range \fIMIN\fP to \fIMAX\fP
559.TP
560~N
561new messages
562.TP
563~O
564old messages
565.TP
566~p
567messages addressed to you (as defined by \fBalternates\fP)
568.TP
569~P
570messages from you (as defined by \fBalternates\fP)
571.TP
572~Q
573messages which have been replied to
574.TP
575~r \fIMIN\fP-\fIMAX\fP
576messages with \(lqdate-received\(rq in a Date range
577.TP
578~R
579read messages
580.TP
581~s \fIEXPR\fP
582messages having \fIEXPR\fP in the \(lqSubject\(rq field.
583.TP
584~S
585superseded messages
586.TP
587~t \fIEXPR\fP
588messages addressed to \fIEXPR\fP
589.TP
590~T
591tagged messages
592.TP
593~u
594messages addressed to a subscribed mailing list (defined by \fBsubscribe\fP commands)
595.TP
596~U
597unread messages
598.TP
599~v
600message is part of a collapsed thread.
601.TP
602~V
603cryptographically verified messages
604.TP
605~x \fIEXPR\fP
606messages which contain \fIEXPR\fP in the \(lqReferences\(rq or \(lqIn-Reply-To\(rq field
607.TP
608~X \fIMIN\fP-\fIMAX\fP
609messages with MIN - MAX attachments
610.TP
611~y \fIEXPR\fP
612messages which contain \fIEXPR\fP in the \(lqX-Label\(rq field
613.TP
614~z \fIMIN\fP-\fIMAX\fP
615messages with a size in the range \fIMIN\fP to \fIMAX\fP
616.TP
617~=
618duplicated messages (see $duplicate_threads)
619.TP
620~$
621unreferenced message (requires threaded view)
622.TP
623~(PATTERN)
624messages in threads containing messages matching a certain pattern, e.g. all threads containing messages from you: ~(~P)
625.PD 1
626.DT
627.PP
628In the above, \fIEXPR\fP is a regular expression.
629.PP
630With the \fB~d\fP, \fB~m\fP, \fB~n\fP, \fB~r\fP, \fB~X\fP, and \fB~z\fP operators, you can also
631specify ranges in the forms \fB<\fP\fIMAX\fP, \fB>\fP\fIMIN\fP,
632\fIMIN\fP\fB-\fP, and \fB-\fP\fIMAX\fP.
633.PP
634With the \fB~z\fP operator, the suffixes \(lqK\(rq and \(lqM\(rq are allowed to specify
635kilobyte and megabyte respectively.
636.SS Matching dates
637.PP
638The \fB~d\fP and \fB~r\fP operators are used to match date ranges,
639which are interpreted to be given in your local time zone.
640.PP
641A date is of the form
642\fIDD\fP[\fB/\fP\fIMM\fP[\fB/\fP[\fIcc\fP]\fIYY\fP]], that is, a
643two-digit date, optionally followed by a two-digit month, optionally
644followed by a year specifications. Omitted fields default to the
645current month and year.
646.PP
647Mutt understands either two or four digit year specifications. When
648given a two-digit year, mutt will interpret values less than 70 as
649lying in the 21st century (i.e., \(lq38\(rq means 2038 and not 1938,
650and \(lq00\(rq is interpreted as 2000), and values
651greater than or equal to 70 as lying in the 20th century.
652.PP
653Note that this behavior \fIis\fP Y2K compliant, but that mutt
654\fIdoes\fP have a Y2.07K problem.
655.PP
656If a date range consists of a single date, the operator in question
657will match that precise date. If the date range consists of a dash
658(\(lq\fB-\fP\(rq), followed by a date, this range will match any
659date before and up to the date given. Similarly, a date followed by
660a dash matches the date given and any later point of time. Two
661dates, separated by a dash, match any date which lies in the given
662range of time.
663.PP
664You can also modify any absolute date by giving an error range. An
665error range consists of one of the characters
666.BR + ,
667.BR - ,
668.BR * ,
669followed by a positive number, followed by one of the unit
670characters
671.BR y ,
672.BR m ,
673.BR w ", or"
674.BR d ,
675specifying a unit of years, months, weeks, or days.
676.B +
677increases the maximum date matched by the given interval of time,
678.B -
679decreases the minimum date matched by the given interval of time, and
680.B *
681increases the maximum date and decreases the minimum date matched by
682the given interval of time. It is possible to give multiple error
683margins, which cumulate. Example:
684.B "1/1/2001-1w+2w*3d"
685.PP
686You can also specify offsets relative to the current date. An
687offset is specified as one of the characters
688.BR < ,
689.BR > ,
690.BR = ,
691followed by a positive number, followed by one of the unit
692characters
693.BR y ,
694.BR m ,
695.BR w ", or"
696.BR d .
697.B >
698matches dates which are older than the specified amount of time, an
699offset which begins with the character
700.B <
701matches dates which are more recent than the specified amount of time,
702and an offset which begins with the character
703.B =
704matches points of time which are precisely the given amount of time
705ago.
706.SH CONFIGURATION VARIABLES