]> diplodocus.org Git - nmh/blob - man/nmh.man
Remove unused NCWD and NPWD #defines.
[nmh] / man / nmh.man
1 .TH NMH %manext7% "September 26, 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
34 individual programs for complete documentation.
35 .PP
36 To get started using
37 .BR nmh ,
38 put the directory
39 \*(lq%bindir%\*(rq
40 in your
41 .BR $PATH .
42 Run the
43 .B install-mh
44 command. If you've never used
45 .B nmh
46 before, it will create the necessary default files and directories after
47 asking you if you wish it to do so.
48 .PP
49 .B inc
50 moves mail from your system maildrop into your
51 .B nmh
52 \*(lq+inbox\*(rq
53 folder, breaking it up into separate files and converting it
54 to
55 .B nmh
56 format as it goes. It prints one line for each message it
57 processes, containing the from field, the subject field and as much of
58 the first line of the message as will fit. It leaves the first message
59 it processes as your current message. You'll need to run
60 .B inc
61 each
62 time you wish to incorporate new mail into your
63 .B nmh
64 file.
65 .PP
66 .B scan
67 prints a list of the messages in your current folder.
68 .PP
69 The commands
70 .BR show ,
71 .BR next ,
72 and
73 .B prev
74 are used to read
75 specific messages from the current folder.
76 .B show
77 displays the
78 current message, or a specific message, which may be specified by its
79 number, which you pass as an argument to
80 .BR show .
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 .I N
182 messages beginning with (or ending with) message
183 .IR num .
184 .I Num
185 may be any of the pre-defined symbols
186 .BR first ,
187 .BR prev ,
188 .BR cur ,
189 .B next
190 or
191 .BR last .
192 .PD
193 .TP
194 .RI first: N
195 .PD 0
196 .TP
197 .RI prev: N
198 .TP
199 .RI next: N
200 .TP
201 .RI last: N
202 The first, previous, next or last
203 messages, if they exist.
204 .PD
205 .PP
206 Commands that take a folder name
207 .RB ( inc ,
208 .BR refile ,
209 .BR scan,
210 \&...) accept the folder name in two formats: \*(lq+folder\*(rq or
211 \*(lq@folder\*(rq. In both cases, \*(lqfolder\*(rq can be a
212 \*(lq/\*(rq-separated path, e.g.\& \*(lqfoo/bar\*(rq. \*(lq+folder\*(rq
213 specifies a directory path to a folder. If \*(lqfolder\*(rq starts
214 with \*(lq/\*(rq then it's an absolute path from the root directory.
215 If it is \*(lq.\*(rq or \*(lq..\*(rq, or starts with \*(lq./\*(rq or
216 \*(lq../\*(rq, then it's relative to the current working directory.
217 Otherwise it's relative to mh-profile(5)'s
218 .RI \*(lq Path \*(rq,
219 i.e.\& as given by
220 .RB ` "mhpath +" `.
221 \*(lq@folder\*(rq is a shorthand for \*(lq+curfolder/folder\*(rq; it's
222 a relative path from the current folder. \*(lqcurfolder\*(rq is given
223 by
224 .RB ` mhpath `.
225 For example, assuming a
226 .B Path
227 profile component of Mail,
228 .TP \n(ttu
229 .PD 0
230 .BI "scan " +inbox
231 scans $HOME/Mail/inbox
232 .TP
233 .BI "scan " +work/todo
234 scans $HOME/Mail/work/todo
235 .TP
236 .BI "scan " @todo
237 scans $HOME/Mail/work/todo, if current folder is +work
238 .TP
239 .BI "refile " @../done
240 refiles to $HOME/Mail/work/done, if the current folder is +work/todo
241 .TP
242 .BI "scan " +/tmp
243 scans /tmp
244 .TP
245 .BI "scan " +.
246 scans the current directory
247 .TP
248 .BI "refile " @.
249 refiles current message to end of current folder.
250 .PD
251 .PP
252 There are many other possibilities such as creating multiple folders
253 for different topics, and automatically refiling messages according to
254 subject, source, destination, or content. These are beyond the scope
255 of this manual entry.
256 .ne 4
257 .SH COMMANDS
258 .PP
259 Following is a list of all the
260 .B nmh
261 commands, grouped loosely according to their role.
262 .ne 4
263 .SS
264 Sending
265 .TP \n(ttu
266 .PD 0
267 .IR comp (1)
268 compose a message
269 .TP
270 .IR forw (1)
271 forward messages
272 .TP
273 .IR repl (1)
274 reply to a message
275 .TP
276 .IR whatnow (1)
277 prompting front-end for send
278 .PD
279 .PP
280 Note that although
281 .B whatnow
282 provides much of the primary
283 .B nmh
284 user interface for sending mail, it is almost never invoked manually,
285 but rather is invoked indirectly by one of the above commands, after
286 you've composed a message in your editor, and before you've decided to
287 send it. Here you can add attachments, check the recipient
288 list, decide to quit and send it later, etc.
289 .PP
290 Related utilities:
291 .TP \n(ttu
292 .PD 0
293 .IR ali (1)
294 list mail aliases
295 .TP
296 .IR anno (1)
297 annotate messages
298 .TP
299 .IR whom (1)
300 report to whom a message would go
301 .TP
302 .IR dist (1)
303 redistribute a message to additional addresses
304 .PD
305 .PP
306 Advanced commands, only sometimes invoked directly:
307 .TP \n(ttu
308 .PD 0
309 .IR mhbuild (1)
310 translate MIME composition draft
311 .TP
312 .IR send (1)
313 send a message
314 .TP
315 .IR sendfiles (1)
316 send multiple files in a MIME message
317 .PD
318 .ne 4
319 .SS
320 Incorporating
321 .TP \n(ttu
322 .IR inc (1)
323 incorporate new mail
324 .PP
325 Related utilities:
326 .TP \n(ttu
327 .PD 0
328 .IR burst (1)
329 explode digests into messages
330 .TP
331 .IR msgchk (1)
332 check for messages
333 .TP
334 .IR rcvdist (1)
335 asynchronously redistribute new mail
336 .TP
337 .IR rcvpack (1)
338 append message to file
339 .TP
340 .IR rcvstore (1)
341 asynchronously incorporate new mail
342 .TP
343 .IR slocal (1)
344 asynchronously filter and deliver new mail
345 .PD
346 .ne 4
347 .SS
348 Viewing
349 .TP \n(ttu
350 .PD 0
351 .IR next (1)
352 show the next message
353 .TP
354 .IR prev (1)
355 show the previous message
356 .TP
357 .IR show (1)
358 show(display) messages
359 .TP
360 .IR scan (1)
361 produce a one line per message scan listing
362 .TP
363 .IR fnext (1)
364 select the next folder with new messages
365 .TP
366 .IR fprev (1)
367 select the previous folder with new messages
368 .PD
369 .PP
370 Related utilities, only sometimes invoked directly:
371 .TP \n(ttu
372 .PD 0
373 .IR mhl (1)
374 produce formatted listings of nmh messages
375 .TP
376 .IR mhlist (1)
377 list information about content of MIME messages
378 .TP
379 .IR mhn (1)
380 display/list/store/cache MIME messages
381 .TP
382 .IR mhshow (1)
383 display MIME messages
384 .TP
385 .IR mhstore (1)
386 store contents of MIME messages into files
387 .PD
388 .ne 4
389 .SS
390 Searching
391 .PP
392 Within a folder:
393 .TP \n(ttu
394 .IR pick (1)
395 select messages by content
396 .PP
397 Across folders:
398 .TP \n(ttu
399 .PD 0
400 .IR new (1)
401 list folders with new messages
402 .TP
403 .IR unseen (1)
404 list new messages in a give set of folders
405 .TP
406 .IR flist (1)
407 list folders with messages in given sequence(s)
408 .TP
409 .IR flists (1)
410 list all folders with messages in given sequence(s)
411 .TP
412 .IR folder (1)
413 set/list current folder/message
414 .TP
415 .IR folders (1)
416 list all folders
417 .PD
418 .ne 4
419 .SS
420 Organizing
421 .TP \n(ttu
422 .PD 0
423 .IR mark (1)
424 mark messages
425 .TP
426 .IR refile (1)
427 file messages in other folders
428 .TP
429 .IR rmf (1)
430 remove folder
431 .TP
432 .IR rmm (1)
433 remove messages
434 .TP
435 .IR sortm (1)
436 sort messages
437 .PD
438 .ne 4
439 .SS
440 Convenience Wrappers
441 .TP \n(ttu
442 .PD 0
443 .IR mhmail (1)
444 send or read mail
445 .PD
446 .ne 4
447 .SS
448 Utilities
449 .TP \n(ttu
450 .PD 0
451 .IR mhfixmsg (1)
452 rewrite MIME messages with various transformations
453 .TP
454 .IR mhparam (1)
455 print nmh profile components
456 .TP
457 .IR mhpath (1)
458 print full pathnames of nmh messages and folders
459 .TP
460 .IR packf (1)
461 compress a folder into a single file
462 .TP
463 .IR prompter (1)
464 prompting editor front end
465 .TP
466 .IR rcvtty (1)
467 report new mail
468 .PD
469 .ne 4
470 .SS
471 Indirectly Invoked Commands
472 .TP \n(ttu
473 .PD 0
474 .IR ap (8)
475 parse addresses RFC 822\-style
476 .TP
477 .IR dp (8)
478 parse dates RFC 822\-style
479 .TP
480 .IR fmtdump (8)
481 decode
482 .IR mh-format (5)
483 files
484 .TP
485 .IR install\-mh (8)
486 initialize the nmh environment
487 .TP
488 .IR post (8)
489 deliver a message
490 .PD
491 .ne 4
492 .SS
493 Files Used by nmh Commands
494 .TP \n(ttu
495 .PD 0
496 .IR mh\-alias (5)
497 alias file for nmh message system
498 .TP
499 .IR mh\-format (5)
500 format file for nmh message system
501 .TP
502 .IR mh\-profile (5)
503 user customization for nmh message system
504 .TP
505 .IR mh\-tailor (5)
506 mail transport customization for nmh message system
507 .PD
508 .ne 4
509 .SS
510 Formats
511 .TP \n(ttu
512 .PD 0
513 .IR mh\-draft (5)
514 draft folder facility
515 .TP
516 .IR mh\-folders (5)
517 nmh message storage format specification
518 .TP
519 .IR mh\-mail (5)
520 message format for nmh message system
521 .TP
522 .IR mh\-sequence (5)
523 sequence specification for nmh message system
524 .PD
525 .ne 4
526 .SH FILES
527 .TP
528 %bindir%
529 contains
530 .B nmh
531 commands
532 .TP
533 %nmhetcdir%
534 contains
535 .B nmh
536 format files
537 .TP
538 %nmhlibexecdir%
539 contains
540 .B nmh
541 library commands
542 .TP
543 $HOME/\&.mh\-profile
544 The user's nmh profile
545 .ne 4
546 .SH "SEE ALSO"
547 .IR install-mh (1),
548 .IR mh-profile (5),
549 .IR mh-chart (7),
550 .IR mh-mime (7)
551 .ne 4
552 .SH BUGS
553 \" The contents of this section also appear in sbr/print_help.c .
554 Send bug reports, questions, suggestions, and patches to
555 .IR nmh-workers@nongnu.org .
556 That mailing list is relatively quiet, so user questions are encouraged.
557 Users are also encouraged to subscribe, and view the archives, at
558 https://lists.gnu.org/mailman/listinfo/nmh-workers .
559 .PP
560 If problems are encountered with an
561 .B nmh
562 program, they should
563 be reported to the local maintainers of
564 .BR nmh ,
565 if any, or to the mailing list noted above.
566 When doing this, the name of the program should be reported, along
567 with the version information for the program.
568 .PP
569 To find out what version of an
570 .B nmh
571 program is being run, invoke
572 the program with the
573 .B \-version
574 switch. This prints
575 the version of
576 .BR nmh ,
577 the host it was compiled on, and the date the
578 program was linked.
579 .PP
580 New releases and other information of potential interest are announced at http://www.nongnu.org/nmh/ .