Added description of @folder format to nmh.man.
[mmh] / man / nmh.man
1 .TH NMH %manext7% "November 30, 2012" "%nmhversion%"
2 .\"
3 .\" %nmhwarning%
4 .\"
5 .\" Register 'tt' contains the indent for .TP in the COMMANDS section:
6 .nr tt \w'\fImh-sequence\fR(5)\0\0'u
7 .\"
8 .SH NAME
9 nmh \- new MH message system
10 .SH SYNOPSIS
11 any
12 .B nmh
13 command
14 .SH DESCRIPTION
15 .B nmh
16 is the name of a powerful message handling system.  Rather than
17 being a single comprehensive program,
18 .B nmh
19 consists of a collection
20 of fairly simple single-purpose programs to send, retrieve, save,
21 and manipulate messages.
22 .PP
23 Unlike most mail clients in UNIX,
24 .B nmh
25 is not a closed system which
26 must be explicitly run, then exited when you wish to return to the shell.
27 You may freely intersperse
28 .B nmh
29 commands with other shell commands,
30 allowing you to read and answer your mail while you have (for example)
31 a compilation running, or search for a file or run programs as needed
32 to find the answer to someone's question before answering their mail.
33 .PP
34 The rest of this manual entry is a quick tutorial which will teach you
35 the basics of
36 .BR nmh .
37 You should read the manual entries for the
38 individual programs for complete documentation.
39 .PP
40 To get started using
41 .BR nmh ,
42 put the directory
43 \*(lq%bindir%\*(rq
44 in your
45 .BR $PATH .
46 Run the
47 .B install-mh
48 command.  If you've never used
49 .B nmh
50 before, it will create the necessary default files and directories after
51 asking you if you wish it to do so.
52 .PP
53 .B inc
54 moves mail from your system maildrop into your
55 .B nmh
56 \*(lq+inbox\*(rq
57 folder, breaking it up into separate files and converting it
58 to
59 .B nmh
60 format as it goes.  It prints one line for each message it
61 processes, containing the from field, the subject field and as much of
62 the first line of the message as will fit.  It leaves the first message
63 it processes as your current message.  You'll need to run
64 .B inc
65 each
66 time you wish to incorporate new mail into your
67 .B nmh
68 file.
69 .PP
70 .B scan
71 prints a list of the messages in your current folder.
72 .PP
73 The commands
74 .BR show ,
75 .BR next ,
76 and
77 .B prev
78 are used to read
79 specific messages from the current folder.
80 .B show
81 displays the
82 current message, or a specific message, which may be specified by its
83 number, which you pass as an argument to
84 .BR show .
85 .B next
86 and
87 .B prev
88 display, respectively, the message numerically after or before
89 the current message.  In all cases, the message displayed becomes the
90 current message.  If there is no current message,
91 .B show
92 may be
93 called with an argument, or
94 .B next
95 may be used to advance to the
96 first message.
97 .PP
98 .B rmm
99 (remove message) deletes the current message.  It may be called
100 with message numbers passed as arguments, to delete specific messages.
101 .PP
102 .B repl
103 is used to respond to the current message (by default).
104 It places you in the editor with a prototype response form.  While you're
105 in the editor, you may peruse the item you're responding to by reading
106 the file
107 .BR @ .
108 After completing your response, type
109 \*(lql\*(rq
110 to
111 .B list
112 (review) it, or
113 \*(lqs\*(rq
114 to
115 .B send
116 it.
117 .PP
118 .B comp
119 allows you to compose a message by putting you in the editor
120 on a prototype message form, and then lets you send it via the
121 .B whatnow
122 command.
123 .B whatnow
124 also supports easy\-to\-use management of MIME attachments via
125 its
126 .B attach
127 and related responses, as described in its man page.
128 .PP
129 All the
130 .B nmh
131 commands may be run with the single argument
132 .BR \-help ,
133 which causes them to print a list of the arguments they may be invoked
134 with and then exit.
135 .PP
136 All the
137 .B nmh
138 commands may be run with the single argument
139 .BR \-version ,
140 which causes them to print the version number of the
141 .B nmh
142 distribution, and then exit.
143 .PP
144 Commands which take a message number as an argument
145 .RB ( scan ,
146 .BR show ,
147 .BR repl ,
148 \&...)  also take one of the words \*(lqfirst\*(rq,
149 \*(lqprev\*(rq, \*(lqcur\*(rq, \*(lqnext\*(rq, or \*(lqlast\*(rq to indicate
150 (respectively) the first, previous, current, next, or last message in
151 the current folder (assuming they are defined).
152 As a shorthand, \*(lq\&.\*(rq is equivalent to \*(lqcur\*(rq.
153 .PP
154 Commands which take a range of message numbers
155 .RB ( rmm ,
156 .BR scan ,
157 .BR show ,
158 \&...)  also take any of the abbreviations:
159 .TP \n(ttu
160 .IR <num1> - <num2>
161 Indicates all messages in the range <num1> to <num2>, inclusive.
162 The range must be nonempty.
163 .TP
164 .RI all
165 Indicates all messages, i.e.,
166 .IR first - last .
167 .TP
168 .IR <num> :+ N
169 .PD 0
170 .TP
171 .IR <num> :\-N
172 Up to
173 .I N
174 messages beginning with (or ending with) message
175 .IR num .
176 .I Num
177 may be any of the pre-defined symbols
178 .BR first ,
179 .BR prev ,
180 .BR cur ,
181 .B next
182 or
183 .BR last .
184 .PD
185 .TP
186 .RI first: N
187 .PD 0
188 .TP
189 .RI prev: N
190 .TP
191 .RI next: N
192 .TP
193 .RI last: N
194 The first, previous, next or last
195 messages, if they exist.
196 .PD
197 .PP
198 Commands which take a folder name
199 .RB ( inc ,
200 .BR refile ,
201 .BR scan ,
202 .BR sortm ,
203 \&...) accept the folder name in two formats: \*(lq+folder\*(rq or
204 \*(lq@folder\*(rq.  \*(lq+folder\*(rq specifies a folder underneath
205 the Path defined in your profile; e.g., with the usual
206 .RI \*(lq "Path: Mail" \*(rq,
207 \*(lq+folder\*(rq tells nmh to use
208 \*(lqMail/folder\*(rq.  \*(lq@folder\*(rq specifies a path
209 relative to the current folder specified in your \*(lqcontext\*(rq
210 file; e.g., with
211 .RI \*(lq "Current-Folder: inbox" \*(rq,
212 and the same profile, \*(lq@folder\*(rq tells nmh to use
213 \*(lqMail/inbox/folder\*(rq.  If folder begins with \*(lq.\*(rq or
214 \*(lq/\*(rq when using \*(lq+folder\*(rq, the folder is interpreted as
215 a specific path to a directory on the filesystem rather than a
216 relative folder location.
217 For example,
218 .TP \n(ttu
219 .PD 0
220 .BI "scan +" .
221 scans the current directory
222 .TP
223 .BI "scan +" ../<dir>
224 scans the named sibling directory
225 .TP
226 .BI "refile +" /tmp
227 refiles into the /tmp directory
228 .PD
229 .PP
230 There are many other possibilities such as creating multiple folders
231 for different topics, and automatically refiling messages according to
232 subject, source, destination, or content.  These are beyond the scope
233 of this manual entry.
234 .ne 4
235 .SH COMMANDS
236 .PP
237 Following is a list of all the
238 .B nmh
239 commands, grouped loosely according to their role.
240 .ne 4
241 .SS
242 Sending
243 .TP \n(ttu
244 .PD 0
245 .IR comp (1)
246 compose a message
247 .TP
248 .IR forw (1)
249 forward messages
250 .TP
251 .IR repl (1)
252 reply to a message
253 .TP
254 .IR whatnow (1)
255 prompting front-end for send
256 .PD
257 .PP
258 Note that although
259 .B whatnow
260 provides much of the primary
261 .B nmh
262 user interface for sending mail, it is almost never invoked manually,
263 but rather is invoked indirectly by one of the above commands, after
264 you've composed a message in your editor, and before you've decided to
265 send it.  Here you can add attachments, check the recipient
266 list, decide to quit and send it later, etc.
267 .PP
268 Related utilities:
269 .TP \n(ttu
270 .PD 0
271 .IR ali (1)
272 list mail aliases
273 .TP
274 .IR anno (1)
275 annotate messages
276 .TP
277 .IR whom (1)
278 report to whom a message would go
279 .TP
280 .IR dist (1)
281 redistribute a message to additional addresses
282 .PD
283 .PP
284 Advanced commands, only sometimes invoked directly:
285 .TP \n(ttu
286 .PD 0
287 .IR mhbuild (1)
288 translate MIME composition draft
289 .TP
290 .IR send (1)
291 send a message
292 .TP
293 .IR sendfiles (1)
294 send multiple files in a MIME message
295 .PD
296 .ne 4
297 .SS
298 Incorporating
299 .TP \n(ttu
300 .IR inc (1)
301 incorporate new mail
302 .PP
303 Related utilities:
304 .TP \n(ttu
305 .PD 0
306 .IR burst (1)
307 explode digests into messages
308 .TP
309 .IR msgchk (1)
310 check for messages
311 .TP
312 .IR rcvdist (1)
313 asynchronously redistribute new mail
314 .TP
315 .IR rcvpack (1)
316 append message to file
317 .TP
318 .IR rcvstore (1)
319 asynchronously incorporate new mail
320 .TP
321 .IR slocal (1)
322 asynchronously filter and deliver new mail
323 .PD
324 .ne 4
325 .SS
326 Viewing
327 .TP \n(ttu
328 .PD 0
329 .IR next (1)
330 show the next message
331 .TP
332 .IR prev (1)
333 show the previous message
334 .TP
335 .IR show (1)
336 show(display) messages
337 .TP
338 .IR scan (1)
339 produce a one line per message scan listing
340 .TP
341 .IR fnext (1)
342 select the next folder with new messages
343 .TP
344 .IR fprev (1)
345 select the previous folder with new messages
346 .PD
347 .PP
348 Related utilities, only sometimes invoked directly:
349 .TP \n(ttu
350 .PD 0
351 .IR mhl (1)
352 produce formatted listings of nmh messages
353 .TP
354 .IR mhlist (1)
355 list information about content of MIME messages
356 .TP
357 .IR mhn (1)
358 display/list/store/cache MIME messages
359 .TP
360 .IR mhshow (1)
361 display MIME messages
362 .TP
363 .IR mhstore (1)
364 store contents of MIME messages into files
365 .PD
366 .ne 4
367 .SS
368 Searching
369 .PP
370 Within a folder:
371 .TP \n(ttu
372 .IR pick (1)
373 select messages by content
374 .PP
375 Across folders:
376 .TP \n(ttu
377 .PD 0
378 .IR new (1)
379 list folders with new messages
380 .TP
381 .IR unseen (1)
382 list new messages in a give set of folders
383 .TP
384 .IR flist (1)
385 list folders with messages in given sequence(s)
386 .TP
387 .IR flists (1)
388 list all folders with messages in given sequence(s)
389 .TP
390 .IR folder (1)
391 set/list current folder/message
392 .TP
393 .IR folders (1)
394 list all folders
395 .PD
396 .ne 4
397 .SS
398 Organizing
399 .TP \n(ttu
400 .PD 0
401 .IR mark (1)
402 mark messages
403 .TP
404 .IR refile (1)
405 file messages in other folders
406 .TP
407 .IR rmf (1)
408 remove folder
409 .TP
410 .IR rmm (1)
411 remove messages
412 .TP
413 .IR sortm (1)
414 sort messages
415 .PD
416 .ne 4
417 .SS
418 Convenience Wrappers
419 .TP \n(ttu
420 .PD 0
421 .IR mhmail (1)
422 send or read mail
423 .TP
424 .IR msh (1)
425 nmh shell
426 .PD
427 .ne 4
428 .SS
429 Utilities
430 .TP \n(ttu
431 .PD 0
432 .IR mhparam (1)
433 print nmh profile components
434 .TP
435 .IR mhpath (1)
436 print full pathnames of nmh messages and folders
437 .TP
438 .IR packf (1)
439 compress a folder into a single file
440 .TP
441 .IR prompter (1)
442 prompting editor front end
443 .TP
444 .IR rcvtty (1)
445 report new mail
446 .PD
447 .ne 4
448 .SS
449 Indirectly Invoked Commands
450 .TP \n(ttu
451 .PD 0
452 .IR ap (8)
453 parse addresses 822\-style
454 .TP
455 .IR conflict (8)
456 search for alias/password conflicts
457 .TP
458 .IR dp (8)
459 parse dates 822\-style
460 .TP
461 .IR fmtdump (8)
462 decode
463 .IR mh-format (5)
464 files
465 .TP
466 .IR install\-mh (8)
467 initialize the nmh environment
468 .TP
469 .IR post (8)
470 deliver a message
471 .PD
472 .ne 4
473 .SS
474 Files Used by nmh Commands
475 .TP \n(ttu
476 .PD 0
477 .IR mh\-alias (5)
478 alias file for nmh message system
479 .TP
480 .IR mh\-draft (5)
481 draft folder facility
482 .TP
483 .IR mh\-format (5)
484 format file for nmh message system
485 .TP
486 .IR mh\-mail (5)
487 message format for nmh message system
488 .TP
489 .IR mh\-profile (5)
490 user customization for nmh message system
491 .TP
492 .IR mh\-sequence (5)
493 sequence specification for nmh message system
494 .TP
495 .IR mh\-tailor (5)
496 mail transport customization for nmh message system
497 .PD
498 .ne 4
499 .SH FILES
500 .TP
501 %bindir%
502 contains
503 .B nmh
504 commands
505 .TP
506 %etcdir%
507 contains
508 .B nmh
509 format files
510 .TP
511 %libdir%
512 contains
513 .B nmh
514 library commands
515 .TP
516 $HOME/\&.mh\-profile
517 The user's nmh profile
518 .ne 4
519 .SH "SEE ALSO"
520 .IR install-mh (1),
521 .IR mh-profile (5),
522 .IR mh-chart (7)
523 .ne 4
524 .SH BUGS
525 If problems are encountered with an
526 .B nmh
527 program, the problems should
528 be reported to the local maintainers of
529 .BR nmh .
530 When doing this, the
531 name of the program should be reported, along with the version information
532 for the program.
533 .PP
534 To find out what version of an
535 .B nmh
536 program is being run, invoke
537 the program with the
538 .B \-version
539 switch.  This prints
540 the version of
541 .BR nmh ,
542 the host it was compiled on, and the date the
543 program was linked.
544 .PP
545 Send bug reports and suggestions to
546 .IR nmh-workers@nongnu.org .