Corrected the last addition to man/nmh.man. Might be nicer to explain
[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 that take a folder name
199 .RB ( inc ,
200 .BR refile ,
201 .BR scan, 
202 \&...) accept the folder name in two formats:  \*(lq+folder\*(rq or
203 \*(lq@folder\*(rq.  In both cases, \*(lqfolder\*(rq can be a
204 \*(lq/\*(rq-separated path, e.g. \*(lqfoo/bar\*(rq.  \*(lq+folder\*(rq
205 specifies a directory path to a folder.  If \*(lqfolder\*(rq starts
206 with \*(lq/\*(rq then it's an absolute path from the root directory.
207 If it is \*(lq.\*(rq or \*(lq..\*(rq, or starts with \*(lq./\*(rq or
208 \*(lq../\*(rq, then it's relative to the current working directory.
209 Otherwise it's relative to mh-profile(5)'s
210 .RI \*(lq Path \*(rq,
211 i.e. as given by
212 .RB ` "mhpath +" `.
213 \*(lq@folder\*(rq is a shorthand for \*(lq+curfolder/folder\*(rq; it's
214 a relative path from the current folder.  \*(lqcurfolder\*(rq is given
215 by
216 .RB ` mhpath `.
217 For example, assuming a
218 .B Path
219 profile component of Mail,
220 .TP \n(ttu
221 .PD 0
222 .BI "scan " +inbox
223 scans $HOME/Mail/inbox
224 .TP
225 .BI "scan " +work/todo
226 scans $HOME/Mail/work/todo
227 .TP
228 .BI "scan " @todo
229 scans $HOME/Mail/work/todo, if current folder is +work
230 .TP
231 .BI "refile " @../done
232 refiles to $HOME/Mail/work/done, if the current folder is +work/todo
233 .TP
234 .BI "scan " +/tmp
235 scans /tmp
236 .TP
237 .BI "scan " +.
238 scans the current directory
239 .TP
240 .BI "refile " @.
241 refiles current message to end of current folder.
242 .PD
243 .PP
244 There are many other possibilities such as creating multiple folders
245 for different topics, and automatically refiling messages according to
246 subject, source, destination, or content.  These are beyond the scope
247 of this manual entry.
248 .ne 4
249 .SH COMMANDS
250 .PP
251 Following is a list of all the
252 .B nmh
253 commands, grouped loosely according to their role.
254 .ne 4
255 .SS
256 Sending
257 .TP \n(ttu
258 .PD 0
259 .IR comp (1)
260 compose a message
261 .TP
262 .IR forw (1)
263 forward messages
264 .TP
265 .IR repl (1)
266 reply to a message
267 .TP
268 .IR whatnow (1)
269 prompting front-end for send
270 .PD
271 .PP
272 Note that although
273 .B whatnow
274 provides much of the primary
275 .B nmh
276 user interface for sending mail, it is almost never invoked manually,
277 but rather is invoked indirectly by one of the above commands, after
278 you've composed a message in your editor, and before you've decided to
279 send it.  Here you can add attachments, check the recipient
280 list, decide to quit and send it later, etc.
281 .PP
282 Related utilities:
283 .TP \n(ttu
284 .PD 0
285 .IR ali (1)
286 list mail aliases
287 .TP
288 .IR anno (1)
289 annotate messages
290 .TP
291 .IR whom (1)
292 report to whom a message would go
293 .TP
294 .IR dist (1)
295 redistribute a message to additional addresses
296 .PD
297 .PP
298 Advanced commands, only sometimes invoked directly:
299 .TP \n(ttu
300 .PD 0
301 .IR mhbuild (1)
302 translate MIME composition draft
303 .TP
304 .IR send (1)
305 send a message
306 .TP
307 .IR sendfiles (1)
308 send multiple files in a MIME message
309 .PD
310 .ne 4
311 .SS
312 Incorporating
313 .TP \n(ttu
314 .IR inc (1)
315 incorporate new mail
316 .PP
317 Related utilities:
318 .TP \n(ttu
319 .PD 0
320 .IR burst (1)
321 explode digests into messages
322 .TP
323 .IR msgchk (1)
324 check for messages
325 .TP
326 .IR rcvdist (1)
327 asynchronously redistribute new mail
328 .TP
329 .IR rcvpack (1)
330 append message to file
331 .TP
332 .IR rcvstore (1)
333 asynchronously incorporate new mail
334 .TP
335 .IR slocal (1)
336 asynchronously filter and deliver new mail
337 .PD
338 .ne 4
339 .SS
340 Viewing
341 .TP \n(ttu
342 .PD 0
343 .IR next (1)
344 show the next message
345 .TP
346 .IR prev (1)
347 show the previous message
348 .TP
349 .IR show (1)
350 show(display) messages
351 .TP
352 .IR scan (1)
353 produce a one line per message scan listing
354 .TP
355 .IR fnext (1)
356 select the next folder with new messages
357 .TP
358 .IR fprev (1)
359 select the previous folder with new messages
360 .PD
361 .PP
362 Related utilities, only sometimes invoked directly:
363 .TP \n(ttu
364 .PD 0
365 .IR mhl (1)
366 produce formatted listings of nmh messages
367 .TP
368 .IR mhlist (1)
369 list information about content of MIME messages
370 .TP
371 .IR mhn (1)
372 display/list/store/cache MIME messages
373 .TP
374 .IR mhshow (1)
375 display MIME messages
376 .TP
377 .IR mhstore (1)
378 store contents of MIME messages into files
379 .PD
380 .ne 4
381 .SS
382 Searching
383 .PP
384 Within a folder:
385 .TP \n(ttu
386 .IR pick (1)
387 select messages by content
388 .PP
389 Across folders:
390 .TP \n(ttu
391 .PD 0
392 .IR new (1)
393 list folders with new messages
394 .TP
395 .IR unseen (1)
396 list new messages in a give set of folders
397 .TP
398 .IR flist (1)
399 list folders with messages in given sequence(s)
400 .TP
401 .IR flists (1)
402 list all folders with messages in given sequence(s)
403 .TP
404 .IR folder (1)
405 set/list current folder/message
406 .TP
407 .IR folders (1)
408 list all folders
409 .PD
410 .ne 4
411 .SS
412 Organizing
413 .TP \n(ttu
414 .PD 0
415 .IR mark (1)
416 mark messages
417 .TP
418 .IR refile (1)
419 file messages in other folders
420 .TP
421 .IR rmf (1)
422 remove folder
423 .TP
424 .IR rmm (1)
425 remove messages
426 .TP
427 .IR sortm (1)
428 sort messages
429 .PD
430 .ne 4
431 .SS
432 Convenience Wrappers
433 .TP \n(ttu
434 .PD 0
435 .IR mhmail (1)
436 send or read mail
437 .TP
438 .IR msh (1)
439 nmh shell
440 .PD
441 .ne 4
442 .SS
443 Utilities
444 .TP \n(ttu
445 .PD 0
446 .IR mhparam (1)
447 print nmh profile components
448 .TP
449 .IR mhpath (1)
450 print full pathnames of nmh messages and folders
451 .TP
452 .IR packf (1)
453 compress a folder into a single file
454 .TP
455 .IR prompter (1)
456 prompting editor front end
457 .TP
458 .IR rcvtty (1)
459 report new mail
460 .PD
461 .ne 4
462 .SS
463 Indirectly Invoked Commands
464 .TP \n(ttu
465 .PD 0
466 .IR ap (8)
467 parse addresses 822\-style
468 .TP
469 .IR conflict (8)
470 search for alias/password conflicts
471 .TP
472 .IR dp (8)
473 parse dates 822\-style
474 .TP
475 .IR fmtdump (8)
476 decode
477 .IR mh-format (5)
478 files
479 .TP
480 .IR install\-mh (8)
481 initialize the nmh environment
482 .TP
483 .IR post (8)
484 deliver a message
485 .PD
486 .ne 4
487 .SS
488 Files Used by nmh Commands
489 .TP \n(ttu
490 .PD 0
491 .IR mh\-alias (5)
492 alias file for nmh message system
493 .TP
494 .IR mh\-draft (5)
495 draft folder facility
496 .TP
497 .IR mh\-format (5)
498 format file for nmh message system
499 .TP
500 .IR mh\-mail (5)
501 message format for nmh message system
502 .TP
503 .IR mh\-profile (5)
504 user customization for nmh message system
505 .TP
506 .IR mh\-sequence (5)
507 sequence specification for nmh message system
508 .TP
509 .IR mh\-tailor (5)
510 mail transport customization for nmh message system
511 .PD
512 .ne 4
513 .SH FILES
514 .TP
515 %bindir%
516 contains
517 .B nmh
518 commands
519 .TP
520 %etcdir%
521 contains
522 .B nmh
523 format files
524 .TP
525 %libdir%
526 contains
527 .B nmh
528 library commands
529 .TP
530 $HOME/\&.mh\-profile
531 The user's nmh profile
532 .ne 4
533 .SH "SEE ALSO"
534 .IR install-mh (1),
535 .IR mh-profile (5),
536 .IR mh-chart (7)
537 .ne 4
538 .SH BUGS
539 If problems are encountered with an
540 .B nmh
541 program, the problems should
542 be reported to the local maintainers of
543 .BR nmh .
544 When doing this, the
545 name of the program should be reported, along with the version information
546 for the program.
547 .PP
548 To find out what version of an
549 .B nmh
550 program is being run, invoke
551 the program with the
552 .B \-version
553 switch.  This prints
554 the version of
555 .BR nmh ,
556 the host it was compiled on, and the date the
557 program was linked.
558 .PP
559 Send bug reports and suggestions to
560 .IR nmh-workers@nongnu.org .