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