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