]> git.llucax.com Git - software/mutt-debian.git/blob - doc/muttrc.man.head
Add upstream/542344-dont_fold_From_: Do not wrap From_ header (Closes: #542344)
[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 [ \fB,\fP \fIregexp\fP [ ... ]]
107 \fBunalternates\fP [\fB * \fP | \fIregexp\fP [ \fB,\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.
170 .TP
171 \fBaccount-hook\fP [\fB!\fP]\fIregexp\fP \fIcommand\fP
172 This hook is executed whenever you access a remote mailbox. Useful
173 to adjust configuration settings to different IMAP or POP servers.
174 .TP
175 \fBcharset-hook\fP \fIalias\fP \fIcharset\fP
176 This command defines an alias for a character set.  This is useful
177 to properly display messages which are tagged with a character set
178 name not known to mutt.
179 .TP
180 \fBiconv-hook\fP \fIcharset\fP \fIlocal-charset\fP
181 This command defines a system-specific name for a character set.
182 This is useful when your system's 
183 .BR iconv (3)
184 implementation does not understand MIME character set names (such as 
185 .BR iso-8859-1 ),
186 but instead insists on being fed with implementation-specific
187 character set names (such as
188 .BR 8859-1 ).
189 In this specific case, you'd put this into your configuration file:
190 .IP
191 .B "iconv-hook iso-8859-1 8859-1"
192 .TP
193 \fBmessage-hook\fP [\fB!\fP]\fIpattern\fP \fIcommand\fP
194 Before mutt displays (or formats for replying or forwarding) a
195 message which matches the given \fIpattern\fP (or, when it is
196 preceded by an exclamation mark, does not match the \fIpattern\fP),
197 the given \fIcommand\fP is executed.  When multiple
198 \fBmessage-hook\fPs match, they are  executed  in  the order in
199 which they occur in the configuration file.
200 .TP
201 \fBfolder-hook\fP [\fB!\fP]\fIregexp\fP \fIcommand\fP
202 When mutt enters a folder which matches \fIregexp\fP (or, when
203 \fIregexp\fP is preceded by an exclamation mark, does not match
204 \fIregexp\fP), the given \fIcommand\fP is executed.
205 .IP
206 When several \fBfolder-hook\fPs match a given mail folder, they are
207 executed in the order given in the configuration file.
208 .TP
209 \fBmacro\fP \fImap\fP \fIkey\fP \fIsequence\fP [ \fIdescription\fP ]
210 This command binds the given \fIsequence\fP of keys to the given
211 \fIkey\fP in the given \fImap\fP or maps.  For valid maps, see \fBbind\fP. To
212 specify multiple maps, put only a comma between the maps.
213 .PP
214 .nf
215 \fBcolor\fP \fIobject\fP \fIforeground\fP \fIbackground\fP [ \fI regexp\fP ]
216 \fBcolor\fP index \fIforeground\fP \fIbackground\fP [ \fI pattern\fP ]
217 \fBuncolor\fP index \fIpattern\fP [ \fIpattern\fP ... ]
218 .fi
219 .IP
220 If your terminal supports color, these commands can be used to
221 assign \fIforeground\fP/\fIbackground\fP combinations to certain
222 objects.  Valid objects are:
223 .BR attachment ", " body ", " bold ", " header ", "
224 .BR hdrdefault ", " index ", " indicator ", " markers ", "
225 .BR message ", " normal ", " quoted ", " quoted\fIN\fP ", "
226 .BR search ", " signature ", " status ", " tilde ", " tree ", "
227 .BR underline .
228 The
229 .BR body " and " header
230 objects allow you to restrict the colorization to a regular
231 expression.  The \fBindex\fP object permits you to select colored
232 messages by pattern.
233 .IP
234 Valid colors include:
235 .BR white ", " black ", " green ", " magenta ", " blue ", "
236 .BR cyan ", " yellow ", " red ", " default ", " color\fIN\fP .
237 .PP
238 .nf
239 \fBmono\fP \fIobject\fP \fIattribute\fP [ \fIregexp\fP ]
240 \fBmono\fP index \fIattribute\fP [ \fIpattern\fP ]
241 .fi
242 .IP
243 For terminals which don't support color, you can still assign
244 attributes to objects.  Valid attributes include:
245 .BR none ", " bold ", " underline ", " 
246 .BR reverse ", and " standout .
247 .TP
248 [\fBun\fP]\fBignore\fP \fIpattern\fP [ \fIpattern\fP ... ]
249 The \fBignore\fP command permits you to specify header fields which
250 you usually don't wish to see.  Any header field whose tag
251 \fIbegins\fP with an \(lqignored\(rq pattern will be ignored.
252 .IP
253 The \fBunignore\fP command permits you to define exceptions from
254 the above mentioned list of ignored headers.
255 .PP
256 .nf
257 \fBlists\fP [\fB-group\fP \fIname\fP] \fIregexp\fP [ \fIregexp\fP ... ]
258 \fBunlists\fP \fIregexp\fP [ \fIregexp\fP ... ]
259 \fBsubscribe\fP [\fB-group\fP \fIname\fP] \fIregexp\fP [ \fIregexp\fP ... ]
260 \fBunsubscribe\fP \fIregexp\fP [ \fIregexp\fP ... ]
261 .fi
262 .IP
263 Mutt maintains two lists of mailing list address patterns, a list of
264 subscribed mailing lists, and a list of known mailing lists.  All
265 subscribed mailing lists are known.  Patterns use regular expressions.
266 .IP
267 The \fBlists\fP command adds a mailing list address to the list of
268 known mailing lists.  The \fBunlists\fP command removes a mailing
269 list from the lists of known and subscribed mailing lists.  The
270 \fBsubscribe\fP command adds a mailing list to the lists of known
271 and subscribed mailing lists.  The \fBunsubscribe\fP command removes
272 it from the list of subscribed mailing lists. The \fb-group\fP flag
273 adds all of the subsequent regular expressions to the named group.
274 .TP
275 \fBmbox-hook\fP [\fB!\fP]\fIpattern\fP \fImailbox\fP
276 When mutt changes to a mail folder which matches \fIpattern\fP,
277 \fImailbox\fP will be used as the \(lqmbox\(rq folder, i.e., read
278 messages will be moved to that folder when the mail folder is left.
279 .IP
280 The first matching \fBmbox-hook\fP applies.
281 .PP
282 .nf
283 \fBmailboxes\fP \fIfilename\fP [ \fIfilename\fP ... ]
284 \fBunmailboxes\fP [ \fB*\fP | \fIfilename\fP ... ]
285 .fi
286 .IP
287 The \fBmailboxes\fP specifies folders which can receive mail and which will
288 be checked for new messages.  When changing folders, pressing space
289 will cycle through folders with new mail.  The \fBunmailboxes\fP
290 command is used to remove a file name from the list of folders which
291 can receive mail.  If "\fB*\fP" is specified as the file name, the
292 list is emptied.
293 .PP
294 .nf
295 \fBmy_hdr\fP \fIstring\fP
296 \fBunmy_hdr\fP \fIfield\fP
297 .fi
298 .IP
299 Using \fBmy_hdr\fP, you can define headers which will be added to
300 the messages you compose.  \fBunmy_hdr\fP will remove the given
301 user-defined headers.
302 .TP
303 \fBhdr_order\fP \fIheader1\fP \fIheader2\fP [ ... ]
304 With this command, you can specify an order in which mutt will
305 attempt to present headers to you when viewing messages.
306 .TP
307 \fBsave-hook\fP [\fB!\fP]\fIpattern\fP \fIfilename\fP
308 When a message matches \fIpattern\fP, the default file name when
309 saving it will be the given \fIfilename\fP.
310 .TP
311 \fBfcc-hook\fP [\fB!\fP]\fIpattern\fP \fIfilename\fP
312 When an outgoing message matches \fIpattern\fP, the default file
313 name for storing a copy (fcc) will be the given \fIfilename\fP.
314 .TP
315 \fBfcc-save-hook\fP [\fB!\fP]\fIpattern\fP \fIfilename\fP
316 This command is an abbreviation for identical \fBfcc-hook\fP and
317 \fBsave-hook\fP commands.
318 .TP
319 \fBsend-hook\fP [\fB!\fP]\fIpattern\fP \fIcommand\fP
320 When composing a message matching \fIpattern\fP, \fIcommand\fP is
321 executed.  When multiple \fBsend-hook\fPs match, they are executed
322 in the order in which they occur in the configuration file.
323 .TP
324 \fBsend2-hook\fP [\fB!\fP]\fIpattern\fP \fIcommand\fP
325 Whenever a message matching \fIpattern\fP is changed (either by
326 editing it or by using the compose menu), \fIcommand\fP
327 is executed. When multiple \fBsend2-hook\fPs match, they are
328 executed in the order in which they occur in the configuration file.
329 Possible applications include setting the $sendmail variable when a
330 message's from header is changed.
331 .IP
332 \fBsend2-hook\fP execution is not triggered by use of
333 \fBenter-command\fP from the compose menu.
334 .TP
335 \fBreply-hook\fP [\fB!\fP]\fIpattern\fP \fIcommand\fP
336 When replying to a message matching \fIpattern\fP, \fIcommand\fP is
337 executed.  When multiple \fBreply-hook\fPs match, they are executed
338 in the order in which they occur in the configuration file, but all
339 \fBreply-hook\fPs are matched and executed before \fBsend-hook\fPs,
340 regardless of their order in the configuration file.
341 .TP
342 \fBcrypt-hook\fP \fIpattern\fP \fIkey-id\fP
343 The crypt-hook command provides a method by which you can
344 specify the ID of the public key to be used when encrypting messages
345 to a certain recipient.  The meaning of "key ID" is to be taken
346 broadly: This can be a different e-mail address, a numerical key ID,
347 or even just an arbitrary search string.
348 .TP
349 \fBpush\fP \fIstring\fP
350 This command adds the named \fIstring\fP to the keyboard buffer.
351 .PP
352 .nf
353 \fBset\fP [\fBno\fP|\fBinv\fP|\fB&\fP|\fB?\fP]\fIvariable\fP[=\fIvalue\fP] [ ... ]
354 \fBtoggle\fP \fIvariable\fP [ ... ]
355 \fBunset\fP \fIvariable\fP [ ... ]
356 \fBreset\fP \fIvariable\fP [ ... ]
357 .fi
358 .IP
359 These commands are used to set and manipulate configuration
360 variables.
361 .IP
362 Mutt knows four basic types of variables: boolean, number, string
363 and quadoption.  Boolean variables can be \fBset\fP (true),
364 \fBunset\fP (false), or \fBtoggle\fPd. Number variables can be assigned
365 a positive integer value.
366 .IP
367 String variables consist of any number of printable characters.
368 Strings must be enclosed in quotes if they contain spaces or tabs.
369 You may also use the \(lqC\(rq escape sequences \fB\\n\fP and
370 \fB\\t\fP for newline and tab, respectively.
371 .IP
372 Quadoption variables are used to control whether or not to be
373 prompted for certain actions, or to specify a default action.  A
374 value of \fByes\fP will cause the action to be carried out automatically
375 as if you had answered yes to the question.  Similarly, a value of
376 \fBno\fP will cause the the action to be carried out as if you had
377 answered \(lqno.\(rq A value of \fBask-yes\fP will cause a prompt
378 with a default answer of \(lqyes\(rq and \fBask-no\fP will provide a
379 default answer of \(lqno.\(rq
380 .IP
381 The \fBreset\fP command resets all given variables to the compile
382 time defaults.  If you reset the special variable \fBall\fP, all
383 variables will reset to their compile time defaults.
384 .TP
385 \fBsource\fP \fIfilename\fP
386 The given file will be evaluated as a configuration file.
387 .TP
388 .nf
389 \fBspam\fP \fIpattern\fP \fIformat\fP
390 \fBnospam\fP \fIpattern\fP
391 .fi
392 These commands define spam-detection patterns from external spam
393 filters, so that mutt can sort, limit, and search on
394 ``spam tags'' or ``spam attributes'', or display them
395 in the index. See the Mutt manual for details.
396 .TP
397 \fBunhook\fP [\fB * \fP | \fIhook-type\fP ]
398 This command will remove all hooks of a given type, or all hooks
399 when \(lq\fB*\fP\(rq is used as an argument.  \fIhook-type\fP
400 can be any of the \fB-hook\fP commands documented above.
401 .SH PATTERNS
402 .PP
403 In various places with mutt, including some of the abovementioned
404 \fBhook\fP commands, you can specify patterns to match messages.
405 .SS Constructing Patterns
406 .PP
407 A simple pattern consists of an operator of the form
408 \(lq\fB~\fP\fIcharacter\fP\(rq, possibly followed by a parameter
409 against which mutt is supposed to match the object specified by
410 this operator.  For some \fIcharacter\fPs, the \fB~\fP may be
411 replaced by another character to alter the behavior of the match.
412 These are described in the list of operators, below.
413 .PP
414 With some of these operators, the object to be matched consists of
415 several e-mail addresses.  In these cases, the object is matched if
416 at least one of these e-mail addresses matches. You can prepend a
417 hat (\(lq\fB^\fP\(rq) character to such a pattern to indicate that
418 \fIall\fP addresses must match in order to match the object.
419 .PP
420 You can construct complex patterns by combining simple patterns with
421 logical operators.  Logical AND is specified by simply concatenating
422 two simple patterns, for instance \(lq~C mutt-dev ~s bug\(rq.
423 Logical OR is specified by inserting a vertical bar (\(lq\fB|\fP\(rq)
424 between two patterns, for instance \(lq~C mutt-dev | ~s bug\(rq.
425 Additionally, you can negate a pattern by prepending a bang
426 (\(lq\fB!\fP\(rq) character.  For logical grouping, use braces
427 (\(lq()\(rq). Example: \(lq!(~t mutt|~c mutt) ~f elkins\(rq.
428 .SS Simple Patterns
429 .PP
430 Mutt understands the following simple patterns:
431 .P
432 .PD 0
433 .TP 12
434 ~A
435 all messages
436 .TP
437 ~b \fIEXPR\fP
438 messages which contain \fIEXPR\fP in the message body.
439 .TP
440 =b \fISTRING\fP
441 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.
442 .TP
443 ~B \fIEXPR\fP
444 messages which contain \fIEXPR\fP in the whole message.
445 .TP
446 ~c \fIEXPR\fP
447 messages carbon-copied to \fIEXPR\fP
448 .TP
449 %c \fIGROUP\fP
450 messages carbon-copied to any member of \fIGROUP\fP
451 .TP
452 ~C \fIEXPR\fP
453 messages either to: or cc: \fIEXPR\fP
454 .TP
455 %C \fIGROUP\fP
456 messages either to: or cc: to any member of \fIGROUP\fP
457 .TP
458 ~d \fIMIN\fP-\fIMAX\fP
459 messages with \(lqdate-sent\(rq in a Date range
460 .TP
461 ~D
462 deleted messages
463 .TP
464 ~e \fIEXPR\fP
465 messages which contain \fIEXPR\fP in the \(lqSender\(rq field
466 .TP
467 %e \fIGROUP\fP
468 messages which contain a member of \fIGROUP\fP in the \(lqSender\(rq field
469 .TP
470 ~E
471 expired messages
472 .TP
473 ~f \fIEXPR\fP
474 messages originating from \fIEXPR\fP
475 .TP
476 %f \fIGROUP\fP
477 messages originating form any member of \fIGROUP\fP
478 .TP
479 ~F
480 flagged messages
481 .TP
482 ~g
483 PGP signed messages
484 .TP
485 ~G
486 PGP encrypted messages
487 .TP
488 ~h \fIEXPR\fP
489 messages which contain \fIEXPR\fP in the message header
490 .TP
491 ~H \fIEXPR\fP
492 messages with spam tags matching \fIEXPR\fP
493 .TP
494 ~i \fIEXPR\fP
495 messages which match \fIEXPR\fP in the \(lqMessage-ID\(rq field
496 .TP
497 ~k
498 messages containing PGP key material
499 .TP
500 ~l
501 messages addressed to a known mailing list (defined by either \fBsubscribe\fP or \fBlist\fP)
502 .TP
503 ~L \fIEXPR\fP
504 messages either originated or received by \fIEXPR\fP
505 .TP
506 %L \fIGROUP\fP
507 messages either originated or received by any member of \fIGROUP\fP
508 .TP
509 ~m \fIMIN\fP-\fIMAX\fP
510 message in the range \fIMIN\fP to \fIMAX\fP
511 .TP
512 ~n \fIMIN\fP-\fIMAX\fP
513 messages with a score in the range \fIMIN\fP to \fIMAX\fP
514 .TP
515 ~N
516 new messages
517 .TP
518 ~O
519 old messages
520 .TP
521 ~p
522 messages addressed to you (as defined by \fBalternates\fP)
523 .TP
524 ~P
525 messages from you (as defined by \fBalternates\fP)
526 .TP
527 ~Q
528 messages which have been replied to
529 .TP
530 ~r \fIMIN\fP-\fIMAX\fP
531 messages with \(lqdate-received\(rq in a Date range
532 .TP
533 ~R
534 read messages
535 .TP
536 ~s \fIEXPR\fP
537 messages having \fIEXPR\fP in the \(lqSubject\(rq field.
538 .TP
539 ~S
540 superseded messages
541 .TP
542 ~t \fIEXPR\fP
543 messages addressed to \fIEXPR\fP
544 .TP
545 ~T
546 tagged messages
547 .TP
548 ~u
549 messages addressed to a subscribed mailing list (defined by \fBsubscribe\fP commands)
550 .TP
551 ~U
552 unread messages
553 .TP
554 ~v
555 message is part of a collapsed thread.
556 .TP
557 ~V
558 cryptographically verified messages
559 .TP
560 ~x \fIEXPR\fP
561 messages which contain \fIEXPR\fP in the \(lqReferences\(rq or \(lqIn-Reply-To\(rq field
562 .TP
563 ~X \fIMIN\fP-\fIMAX\fP
564 messages with MIN - MAX attachments
565 .TP
566 ~y \fIEXPR\fP
567 messages which contain \fIEXPR\fP in the \(lqX-Label\(rq field
568 .TP
569 ~z \fIMIN\fP-\fIMAX\fP
570 messages with a size in the range \fIMIN\fP to \fIMAX\fP
571 .TP
572 ~=
573 duplicated messages (see $duplicate_threads)
574 .TP
575 ~$
576 unreferenced message (requires threaded view)
577 .TP
578 ~(PATTERN)
579 messages in threads containing messages matching a certain pattern, e.g. all threads containing messages from you: ~(~P)
580 .PD 1
581 .DT
582 .PP
583 In the above, \fIEXPR\fP is a regular expression.
584 .PP
585 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
586 specify ranges in the forms \fB<\fP\fIMAX\fP, \fB>\fP\fIMIN\fP,
587 \fIMIN\fP\fB-\fP, and \fB-\fP\fIMAX\fP.
588 .PP
589 With the \fB~z\fP operator, the suffixes \(lqK\(rq and \(lqM\(rq are allowed to specify
590 kilobyte and megabyte respectively.
591 .SS Matching dates
592 .PP
593 The \fB~d\fP and \fB~r\fP operators are used to match date ranges,
594 which are interpreted to be given in your local time zone.
595 .PP
596 A date is of the form
597 \fIDD\fP[\fB/\fP\fIMM\fP[\fB/\fP[\fIcc\fP]\fIYY\fP]], that is, a
598 two-digit date, optionally followed by a two-digit month, optionally
599 followed by a year specifications.  Omitted fields default to the
600 current month and year.
601 .PP
602 Mutt understands either two or four digit year specifications.  When
603 given a two-digit year, mutt will interpret values less than 70 as
604 lying in the 21st century (i.e., \(lq38\(rq means 2038 and not 1938,
605 and \(lq00\(rq is interpreted as 2000), and values
606 greater than or equal to 70 as lying in the 20th century.
607 .PP
608 Note that this behaviour \fIis\fP Y2K compliant, but that mutt
609 \fIdoes\fP have a Y2.07K problem.
610 .PP
611 If a date range consists of a single date, the operator in question
612 will match that precise date.  If the date range consists of a dash
613 (\(lq\fB-\fP\(rq), followed by a date, this range will match any
614 date before and up to the date given.  Similarly, a date followed by
615 a dash matches the date given and any later point of time.  Two
616 dates, separated by a dash, match any date which lies in the given
617 range of time.
618 .PP
619 You can also modify any absolute date by giving an error range.  An
620 error range consists of one of the characters
621 .BR + ,
622 .BR - ,
623 .BR * ,
624 followed by a positive number, followed by one of the unit
625 characters
626 .BR y ,
627 .BR m ,
628 .BR w ", or"
629 .BR d ,
630 specifying a unit of years, months, weeks, or days.  
631 .B +
632 increases the maximum date matched by the given interval of time,
633 .B - 
634 decreases the minimum date matched by the given interval of time, and
635 .B *
636 increases the maximum date and decreases the minimum date matched by
637 the given interval of time.  It is possible to give multiple error
638 margins, which cumulate.  Example:
639 .B "1/1/2001-1w+2w*3d"
640 .PP
641 You can also specify offsets relative to the current date.  An
642 offset is specified as one of the characters
643 .BR < ,
644 .BR > ,
645 .BR = ,
646 followed by a positive number, followed by one of the unit
647 characters
648 .BR y ,
649 .BR m ,
650 .BR w ", or"
651 .BR d .
652 .B >
653 matches dates which are older than the specified amount of time, an
654 offset which begins with the character
655 .B < 
656 matches dates which are more recent than the specified amount of time,
657 and an offset which begins with the character
658 .B =
659 matches points of time which are precisely the given amount of time
660 ago.
661 .SH CONFIGURATION VARIABLES